Ruby

業務でわけあって、Rubyを勉強することになった。
Rubyソースコード完全解説は読んでるのに、Rubyは使っていないという変人なので、とりあえず文法から。(http://kansai.anesth.or.jp/gijutu/ruby/man-z1/refm0015.html)

注意ポイントをメモ。

  • 0や空文字列は真(true)。
    • 間違えそう〜。
  • 「elsif」でelseとifをつなげることができる。
  • case文は「===」で比較
    • 「===」はクラス毎で定義されているメソッド。
  • while/until修飾子は値を返さない。
    • つまるは「手続き」の繰り返し用構文ってことか。
  • forとeachは微妙に違う

for i in [1, 2, 3]
print i*2, "\n"
end

print i # エラーではない

[1, 2, 3].each {|j| print j*2, "\n"}

print j # 未定義エラー

    • まぁ、他の言語の慣例に従えば当然か。
  • 発生した例外は「$!」か、「=>」で指定した変数に格納される。
  • rescue修飾子を使った代入では、演算子の優先順位に気をつける必要有り?
    • ruby 1.8.2 (2004-12-25) [i386-mswin32]では、括弧でかこまなくてもうまくいった。バージョン差異か?
  • superでオーバライドしたメソッドを呼び出す。