shareable_proc { ... } -> ProcRuby 4.0 から[permalink][rdoc][edit]-
与えられたブロックから shareable な Proc を作成して返します。
通常の Proc は shareable ではないため、他の Ractor に渡せません。このメソッドで作成した Proc は shareable になるため、複数の Ractor から利用できます。
pr = Ractor.shareable_proc { 42 } p Ractor.shareable?(pr) # => true p pr.lambda? # => false p Ractor.shareable?(proc { 42 }) # => false (通常の Proc は shareable ではない) # 他の Ractor に渡して呼び出せる p Ractor.new(pr) {|p| p.call }.value # => 42[SEE_ALSO] Ractor.shareable_lambda, Ractor.make_shareable