2006-11-05から1日間の記事一覧
もう少しブロックについて、メソッドにブロックを渡されなかったらどうなるかというメモを。 上のtwo_times_to_max()にブロックを渡さなかった場合は、例外が発生します。 ブロックを渡された場合と渡されなかった場合で、処理を分ける場合はblock_given?を…
ブロックは、イテレータを実装するためによく使われています。 たとえば、Arrayクラスのeachメソッドでは、 list = ["hoge", "fuga", "piyo"] list.each{ |element| puts element} といった具合にブロックを使って繰り返し処理を行えます。このようなブロッ…
Rubyでは、メソッドにブロックを関連付けて、色々と便利なことができるようです。 ちょっと、この辺りがまだモヤモヤしているのでまとめときます。 って思ったけど、また明日にでも。
メモです。可変長の引数にする場合には、 def my_method(arg1, *arg2) のように、引数の前に*をつけます。 これによって、 my_method("hoge", "piyo", "fuga") のような呼び出しで、arg1には"hoge"が、arg2には残りの引数が配列で格納されます。