在Perl 6中,print
,put
和say
之间的区别是什么?
我可以看到print 5
的不同之处,但put 5
和say 5
看起来是一样的。
答案 0 :(得分:8)
put $a
就像print $a.Str ~ “\n”
say $a
就像print $a.gist ~ “\n”
put
更具计算机可读性
say
更具人性化。
put 1 .. 8 # 1 2 3 4 5 6 7 8
say 1 .. 8 # 1..8
详细了解.gist
here。
---
更准确地说,put
和say
会附加输出文件句柄的nl-out
属性的值,默认情况下为\n
。但是你可以覆盖它。感谢布拉德吉尔伯特指出这一点。
答案 1 :(得分:8)
Handy Perl 6常见问题:How and why do say, put and print differ?
最明显的区别是
say
和put
在输出的末尾添加换行符,而但是还有另一个区别:
put
通过调用传递给每个项目的Str
方法将其参数转换为字符串,say
使用{{1}而是方法。gist
方法,您也可以为自己的类创建,旨在为人类解释创建一个Str。因此,可以自由地省略有关被认为不重要的对象的信息,以理解对象的本质。...
因此,据说是针对随意的人工解释进行了优化,dd针对休闲调试输出进行了优化,打印和放置更适合产生输出。
...