Ruby を使い始めました。Perl と同じだろうと思ったら、細かいところで結構つまずきます。つまずかないためにも、いろいろ備忘録を残したいと思います。
参考になるサイト。
多重配列を宣言する場合、次のように宣言するとオブジェクト共有問題が起きる。
new Array(20, new Array(20))
後半の "new Array" が一度しか new されず、共有されてしまう。そこで、次のようにブロックを使うと問題は解決する。
new Array(20) { new Array(20) }
ただしこの方法は、Ruby 1.7 の 2002-10-28 以降でなければならない。
Ruby にはインクリメント演算子がないので、下記のように記述する。
i += 1
Perl のような甘い型処理を考えると、思わぬエラーに悩まされる。下記のように文字列型、整数型など変換できる。
Integer('12') String(i)
オブジェクトを空で new する。
list = Array.new() hash = Hash.new()
if文を 1行で書くためには、条件節のあとにセミコロンが必要である。
if i > 0 ; i = 0 end
CGI で URLパラメータを処理するスクリプトを、コマンドラインで実行するとこのモードになる。name=value の形で URLパラメータを入力したあと、"Ctrl+D" を押下する(Unix の場合)。Win32環境では、"Ctrl+Z"+"Enter" を順に押下する。