expr
i = 123
i
s = "str".freeze
s
a = [1, [2], 3].freeze
a
[2]
h = {c: Object}.freeze
h
:c
Object
Ractor#send(obj)
Ractor.receive()
obj
r
r.send(obj)
Ractor.receive
Ractor.receive_if{ filter_expr }
Ractor.yield(obj)
Ractor#take()
r.take
Ractor.new
Ractor.new{ expr }
Proc#isolate
self
Ractor
Ractor.new()
Ractor#<<(obj)
Ractor#send
Ractor.receive_if{|msg| filter_expr }
receive_if
filter_expr
Ractor.receive_if{ true }
Ractor#take
Ractor.yield
Ractor.select()
take
yield
receive
Ractor#close_incoming
Ractor#close_outgoing
send
T_DATA
move:
Ractor#send(obj, move: true/false)
Ractor.yield(obj, move: true/false)
false
Ractor.select
Ractor.select(*ractors)
[r, msg]
msg
Ractor.take
select(2)
select
Ractor#close_incoming/outgoing
Queue#close
Ractor.yield(ret_val)
Ractor.yield()
ClosedError
Ractor#send(obj, move: true)
Ractor.yield(obj, move: true)
obj.foo()
true
nil
SPECIAL_CONST_P()
Float
Complex
Rational
T_BIGNUM
String
Regexp
T_CLASS
T_MODULE
T_ICLASS
RVALUE
FL_SHAREABLE
Ractor.make_shareable(obj)
copy:
Ractor.make_sharable(obj, copy: true)
$stdin
$stdout
$stderr
TABLE
Ractor.make_sharable()
shareable_constant_value
CONST = expr
CONST = Ractor.make_sharable(expr)
CONST = expr.tap{|o| raise unless Ractor.shareable?}
CONST = Ractor.make_sharable(expr, copy: true)
none
rb_ractor_t::pub::id