在角色 IO::Socket 中§

有关方法 put,请参阅主要文档 上下文中的内容

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

将提供的字符串(附加一个 \n)写入套接字,从而将其发送到连接的另一端。

如果套接字未连接,则失败。

在 Mu 中§

有关方法 put,请参阅主要文档 上下文中的内容

multi method put(--> Bool:D)

将值打印到 $*OUT,在末尾添加一个换行符,并在必要时使用 .Str 方法将非 Str 对象字符串化。

"abc".put;              # OUTPUT: «abc␤»

在 Proc::Async 中§

有关方法 put,请参阅主要文档 上下文中的内容

method put(Proc::Async:D: \x|c)

对输出执行 .join,添加一个换行符,并对其调用 .print。如果未启动或未打开以进行写入,则会引发异常。

在 IO::Handle 中§

有关方法 put,请参阅主要文档 上下文中的内容

multi method put(**@text --> True)
multi method put(Junction:D --> True)

将给定的 @text 写入句柄,通过在它们上调用 .Str 方法将任何非 Str 对象强制转换为 Str,并在末尾追加 .nl-out 的值。 Junction 参数 自动线程,并且不保证打印字符串的顺序。

当句柄 处于二进制模式 时尝试调用此方法将导致引发 X::IO::BinaryMode 异常。

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

在独立例程中§

有关子程序 put,请参阅主要文档 上下文中的内容

multi put()
multi put(**@args --> True)
multi put(Junction:D --> True)
multi put(Str:D \x)
multi put(\x)

print 相同,只是它在末尾使用 print-nl(默认情况下打印 换行符)。 Junction 参数 自动线程,并且不保证打印字符串的顺序。

put "Hi there!\n";   # OUTPUT: «Hi there!␤␤» 
put "Hi there!";     # OUTPUT: «Hi there!␤» 
put [123];       # OUTPUT: «1 2 3␤» 
put "Hello" | "Goodbye"# OUTPUT: «Hello␤Goodbye␤»

put() 本身将打印一个新行

put "Hey"put(); put("Hey"); # OUTPUT: «Hey␤␤Hey␤»

但请注意,我们在 put 后使用了括号。如果没有这些括号,它将引发异常(版本 6.d 及更高版本)。如果在 for 之前以这种方式使用它,它也会引发异常;请改用方法形式 .put

.put for <1 2 3>;             # OUTPUT: «1␤2␤3␤»