お仕事

やることはたくさんあるわけですがなかなか進まず。

どうも理解できない Ruby のコードが。

#code(ruby){{ h = [ "abcdef", 1, nil ]

h.each { |value|

 case value.class
 when String
   puts "String"
 when Fixnum
   puts "Fixnum"
 when NilClass
   puts "NilClass"
 end

} }}

これは文法上は正しいようですが期待した結果は得られません。 when に書いてある条件を全部すっ飛ばしてしまうんですね。

#code(ruby){{ h = [ "abcdef", 1, nil ]

h.each { |value|

 if value.class == String
   puts "String"
 elsif value.class == Fixnum
   puts "Fixnum"
 elsif value.class == NilClass
   puts "NilClass"
 end

} }}

これは期待通り。

演算子の == と === の違いらしいのですが、まだよくわかっていません。Ruby は書きやすいですけど、いろいろとわからないことだらけです。

お勉強

#amazon(458756236X,left)

読み始めました。

論文の勉強も並行していくのは短答にも生きるはず。

1h/5.5W/7.5M/54.5hours


トップ   差分 履歴 リロード   一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-01-29 (土) 15:27:48