Documentation for routine print

Documentation for routine print, assembled from the following types:

class Mu

From Mu

(Mu) method print

multi method print(--> Bool:D)

Prints value to $*OUT after stringification using .Str method without adding a newline at end.

"abc\n".print;          # RESULT: «abc␤» 

role IO

From IO

(IO) sub print

Defined as:

multi sub print(**@args --> True)

Prints the given text on standard output (the $*OUT file handle), coercing non-Str objects to Str by calling .Str method:

print "Hi there!\n";   # OUTPUT: «Hi there!␤» 
print "Hi there!";     # OUTPUT: «Hi there!» 
print [123];       # OUTPUT: «1 2 3» 

To print text and include the trailing newline, use put.

class IO::Handle

From IO::Handle

(IO::Handle) method print

Defined as:

multi method print(**@text --> True)

Writes the given @text to the handle, coercing any non-Str objects to Str by calling .Str method on them. See write to write bytes.

Attempting to call this method when the handle is in binary mode will result in X::IO::BinaryMode exception being thrown.

my $fh = 'path/to/file'.IO.open: :w;
$fh.print: 'some text';
$fh.close;

class IO::CatHandle

From IO::CatHandle

(IO::CatHandle) method print

Defined as:

multi method print(|)

In Rakudo, the IO::CatHandle type overrides this method to throw X::NYI exception. If you have a good idea for how this method should behave, tell Rakudo developers about it!

role IO::Socket

From IO::Socket

(IO::Socket) method print

method print(IO::Socket:D: Str(Cool$string)

Writes the supplied string to the socket, thus sending it to other end of the connection. The binary version is method write.

Fails if the socket is not connected.

class IO::Socket::Async

From IO::Socket::Async

(IO::Socket::Async) method print

method print(Str $str --> Promise)

Attempt to send $str on the IO::Socket::Async that will have been obtained indirectly via connect or listen, returning a Promise that will be kept with the number of bytes sent or broken if there was an error sending.

class Proc::Async

From Proc::Async

(Proc::Async) method print

method print(Proc::Async:D: Str(Any$str:$scheduler = $*SCHEDULER)

Write the text data in $str to the standard input stream of the external program, encoding it as UTF-8.

Returns a Promise that will be kept once the data has fully landed in the input buffer of the external program.

The Proc::Async object must be created for writing (with Proc::Async.new(:w, $path, @args)). Otherwise an X::Proc::Async::OpenForWriting exception will the thrown.

start must have been called before calling method print, otherwise an X::Proc::Async::MustBeStarted exception is thrown.