Documentation for routine put
assembled from the following pages:
Class: Mu §
From Mu
(Mu) method put §
multi method put(--> Bool)
Prints value to $*OUT
, adding a newline at end, and if necessary, stringifying non-Str
object using the .Str
method.
"abc".put; # OUTPUT: «abc»
Class: IO::CatHandle §
From IO::CatHandle
(IO::CatHandle) method put §
Defined as:
multi method put(|)
The IO::CatHandle type overrides this method to throw a X::NYI
exception. If you have a good idea for how this method should behave, tell Rakudo developers about it!
Class: IO::Handle §
From IO::Handle
(IO::Handle) method put §
Defined as:
multi method put(** --> True)multi method put(Junction --> True)
Writes the given @text
to the handle, coercing any non-Str objects to Str by calling .Str
method on them, and appending the value of .nl-out
at the end. Junction arguments autothread and the order of printed strings is not guaranteed.
Attempting to call this method when the handle is in binary mode will result in X::IO::BinaryMode
exception being thrown.
my = 'path/to/file'.IO.open: :w;.put: 'some text';.close;
Role: IO::Socket §
From IO::Socket
(IO::Socket) method put §
method put(IO::Socket: Str(Cool) )
Writes the supplied string, with a \n
appended to it, to the socket, thus sending it to other end of the connection.
Fails if the socket is not connected.
Language documentation: Independent routines §
From Independent routines
(Independent routines) sub put §
Defined as:
multi sub put()multi sub put(** --> True)multi sub put(Junction --> True)multi sub put(Str \x)multi sub put(\x)
Same as print
, except it uses print-nl
(which prints a newline, by default) at the end. Junction arguments autothread and the order of printed strings is not guaranteed.
put "Hi there!\n"; # OUTPUT: «Hi there!» put "Hi there!"; # OUTPUT: «Hi there!» put [1, 2, 3]; # OUTPUT: «1 2 3» put "Hello" | "Goodbye"; # OUTPUT: «HelloGoodbye»
By itself, put()
will print a new line
put "Hey"; put(); put("Hey"); # OUTPUT: «HeyHey»
but please note that we have used parentheses after put
. Without these parentheses, it will throw an exception (with version 6.d and after). It will also raise an exception if it's used that way before for
; use the method form .put
instead.
.put for <1 2 3>; # OUTPUT: «123»
Class: Proc::Async §
From Proc::Async
(Proc::Async) method put §
Defined as:
method put(Proc::Async: \x, |c)
Does a .join
on the output, adds a newline, and calls .print
on it. Will throw if it's not started, or not open for writing.