2016-12-06 13 views

答えて

6

ほとんど。あなたはその方法をPROCにあなたのモジュール変換可能を作成し、それを使用することができます:

module PrintAny 
    def self.print(text) 
    puts text 
    end 

    def self.to_proc 
    method(:print).to_proc 
    end 
end 

["any"].each &PrintAny # => prints "any" 

Enumerable#eachはアンパサンド演算子(&)が最初にそのオブジェクトにto_procを呼び出すことによってブロックするために、オブジェクトを変換し、ブロックを渡す必要があります。モジュールは単なるオブジェクトなので、メソッドがto_procの場合、これは機能します。

+0

優秀!ありがとう!私はto_procを忘れていた。 – gayavat

1

これは、今まで実生活で使用することができたとき、私は見ませんが、...:

['any'].each &PrintAny.instance_method(:call).bind(Object) 
#=> any 
関連する問題