2008-01-01から1年間の記事一覧

パスワードを入力するとファイルを暗号化する簡単なRubyスクリプト

『新版暗号技術入門――秘密の国のアリス』が刊行されたので、暗号関連のプログラムを作りたくなりました。 以下、パスワードを入力するとファイルを暗号化する簡単なRubyスクリプトを紹介します。 1. cryptをインストールします。 C:\work> gem install crypt…

アイゲンクラス

…メタクラスがどうしたとかアイゲンクラスがどうしたという話になり… 2008-11-03 アイゲンクラスって何だっけ?と思ってじっと考え「きっと特異クラスのことだ」と見当をつけてから検索。 特異クラスの構文に関して以前考えていたメモが見つかった。 http://…

Rubyで円を描くパズル

問題 半径が与えられると、文字を使って円を描く関数print_circleを作れ。例えば、以下はprint_circle(10)の出力例。(正確に一致する必要はありません) ● ●●●●●●●●● ●●●●●●●●●●●●● ●●●●●●●●●●●●●●● ●●●●●●●●●●●●●●●●● ●●●●●●●●●●●●●●●●● ●●●●●●●●●●●●●●●●●…

Rubyで自己言及パズル

問題 実行すると、スクリプトの内容と同じ文字列が表示されるスクリプトを書いてください。 解答

Rubyで同値関係を求めるパズル

問題 xxxx=yyyy という形式のデータをたくさん受け取り、等しいもの同士をグルーピングするプログラムを書いてください。データは標準入力から与え、グルーピングした結果は { xxxx, yyyy } のように集合のような形式で標準出力に出すことにします。以下に入…

色見本を作るRubyスクリプト

http://d.hatena.ne.jp/hrkt0115311/20080715 を見て、私も作りたくなりました。仕様は少し変えています。 File.open('color.html', 'w') do |f| f.puts <<-HEADER_END <html> <head> <title>Color Table</title> </head> <body> <h1>Color Table</h1> <pre> HEADER_END code = [ '00', '33', '66', '99', 'CC', 'FF</pre></body></html>…

RubyGems Documentation Indexを読む(gem_server)

たとえば、gemでamazon-ecsパッケージをインストールします。 > gem install amazon-ecs Need to update 7 gems from http://gems.rubyforge.org ....... complete Successfully installed amazon-ecs-0.5.3 Installing ri documentation for amazon-ecs-0.5…

Rubyでニコニコ動画のダウンローダ

ニコニコ動画にアクセスするnicovideoパッケージをgemでインストールすると、sample/nv_download.rb というファイルも入手できます。それを読んで勉強。で、nv_download.rbをもとにしてnico.rbを書きました。nv_download.rbの劣化コピーですみません。でも、…

X.509証明書を表示するRubyスクリプト

証明書(公開鍵にデジタル署名を施したもの)を表示するRubyスクリプトです。ファイルbobby.cerに証明書が入っているものとします。 # show_cert.rb require 'openssl' cert = OpenSSL::X509::Certificate.new(File.open('bobby.cer')) print cert.to_text …

ファイルのSHA-1ダイジェスト値を表示するRubyスクリプト

コマンドラインで名前を指定したファイルのメッセージダイジェスト値(アルゴリズムはSHA-1)を表示するプログラムです。 # printsha1.rb require 'digest/sha1' FILENAME = ARGV[0] print Digest::SHA1.hexdigest(File.open(FILENAME, "rb").read), " ", FILE…

Amazon.co.jpの特定商品のランキングを調べるRubyスクリプト、再訪

「Amazon.co.jpの特定商品のランキングを調べるRubyスクリプト」を書いてみようと思いました。いまから作るのは「ASINのリストを元に、その本のタイトルと現在のランキングを表示する」というスクリプトです。 Amazon.co.jpの特定商品のランキングを調べるRu…

LaTeXのソースからすべての \command を抽出するスクリプト

『数学ガール/フェルマーの最終定理』の校正の都合上、LaTeXのソースからすべての \command を抽出するスクリプトを書きました。 # find_tex_commands.rb require 'pathname' commands = Array.new Pathname.glob("*.tex").each do |file| open(file, "r") …