2008-07-01から1ヶ月間の記事一覧

引数の評価は戻り値にならない

rubyのメソッドではreturnを書かずとも、最後に評価された値が返る仕様らしく def func(a, b, c) d = a + b + c end hoge = func(4, 9, 2) p hoge # 15 と表示される となる。 また、この仕様とは別に、 引数にデフォルト値を設定できるらしく def func(a, b…

ブロック呼び出しはダブルディスパッチとも説明できるそう

感覚的なものだけど ブロック付きメソッドはコードブロックを引数にして渡している 感覚を持っていたんだけれども、 呼び出し元に戻ってコードブロックを実行しているとも 説明ができるのかと思った。

{}とdo...endの挙動が違うことがわからん(初歩的)

array = ["43", "38", "2", "99", "1389"]p array.sort{|x, y| x.to_i y.to_i} # No.1 p array.sort do |x, y| x.to_i y.to_i end # No.2 の結果は ["2", "38", "43", "99", "1389"] # No.1 の結果["1389", "2", "38", "43", "99"] # No.2 の結果 となる。 #…