self >> callable -> Proc
[permalink][rdoc][edit]-
self と引数を合成した Proc を返します。
戻り値の Proc は可変長の引数を受け取ります。戻り値の Proc を呼び出すと、まず受け取った引数を self に渡して呼び出し、その戻り値を callable に渡して呼び出した結果を返します。
Proc#<< とは呼び出しの順序が逆になります。
- [PARAM] callable:
- Proc、Method、もしくは任意の call メソッドを持ったオブジェクト。
f = proc { |x| x * x } g = proc { |x| x + x } # (3 * 3) + (3 * 3) p (f >> g).call(3) # => 18
class WordScanner def self.call(str) str.scan(/\w+/) end end File.write('testfile', <<~TEXT) Hello, World! Hello, Ruby! TEXT pipeline = proc { |fname| File.read(fname) } >> WordScanner >> method(:p) pipeline.call('testfile') # => ["Hello", "World", "Hello", "Ruby"]