Ruby 4.1 リファレンスマニュアル

singleton method Ractor.shareable_proc

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