File: //usr/share/ri/3.0.0/system/Ractor/yield-c.ri
U:RDoc::AnyMethod[iI"
yield:ETI"Ractor::yield;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph; [I"RSend a message to the current ractor's outgoing port to be consumed by #take.;To:RDoc::Markup::BlankLine o:RDoc::Markup::Verbatim; [I"7r = Ractor.new {Ractor.yield 'Hello from ractor'}
;TI"puts r.take
;TI"## Prints: "Hello from ractor"
;T:@format0o;
; [I"MThe method is blocking, and will return only when somebody consumes the ;TI"sent message.;T@o;; [I"r = Ractor.new do
;TI"( Ractor.yield 'Hello from ractor'
;TI"" puts "Ractor: after yield"
;TI" end
;TI"
wait
;TI"puts "Still not taken"
;TI"puts r.take
;T;
0o;
; [I"This will print:;T@o;; [I"Still not taken
;TI"Hello from ractor
;TI"Ractor: after yield
;T;
0o;
; [I"QIf the outgoing port was closed with #close_outgoing, the method will raise:;T@o;; [I"r = Ractor.new do
;TI" close_outgoing
;TI"( Ractor.yield 'Hello from ractor'
;TI" end
;TI"
wait
;TI"J# `yield': The outgoing-port is already closed (Ractor::ClosedError)
;T;
0o;
; [I"=The meaning of +move+ argument is the same as for #send.;T:
@fileI"ractor.rb;T:0@omit_headings_from_table_of_contents_below0I"+Ractor.yield(msg, move: false) -> nil
;T0[ I"(obj, move: false);T@7FI"Ractor;TcRDoc::NormalClass00