タグ

ブックマーク / ref.xaio.jp (2)

  • method_missing - Rubyリファレンス

    標準クラス・モジュール > Object > method_missing def method_missing(method_name [, *args [, &block]]) code... end method_missingメソッドを定義すると、存在しないメソッドが呼ばれたときの動作を記述できます。メソッド名の文字列を使って動作を変えるような機能が作れます。 オブジェクトに対して存在しないメソッドを呼び出すと、Rubyはmethod_missingメソッドを呼び出します。引数method_nameには、メソッド名がシンボルで渡されます。引数*argsと&blockでメソッドに渡された引数とブロックを取り出せます。戻り値は存在しないメソッドの戻り値になります。 次の例では、Fixnumクラスにmethod_missingを定義して、「to_数字」というメソッドが呼ばれたときは、整数

  • inject (Enumerable) - Rubyリファレンス

    標準クラス・モジュール > Enumerable > inject enum.inject {|memo, item| block } enum.inject(init) {|memo, item| block } injectメソッドは、ブロックを使って繰り返し計算を行うのに使います。ブロックに順に「要素1、要素2」、「ブロックの前回の戻り値、要素3」、「ブロックの前回の戻り値、要素4」、...を渡します。メソッドの戻り値はブロックが最後に返した値になります。 引数initで初期値を指定すると、ブロックに「初期値、要素1」、「ブロックの前回の戻り値、要素2」、「ブロックの前回の戻り値、要素3」、...を渡します。 Ruby 1.8.7 Ruby 1.8.7と1.9では、injectメソッドの別名としてreduceメソッドが加わりました。 次の例は、配列の数値の合計を計算します。また、10

  • 1