注意:我使用的是Rakudo Star version2019.03.1,构建于实现Perl6.d的MoarVM版本2019.03之上。
在euler项目#22中有一个names.txt文件,类似于"JERE","HAI","ELDEN","DORSEY","DARELL","BRODERICK","ALONSO",...
当我读进去的时候,拆分并排序,我得到了我所期望的名字列表。
for '../names.txt'.IO.slurp.split(',').sort -> $name {
say $name;
}打印出来的
...
"ZONIA"
"ZORA"
"ZORAIDA"
"ZULA"
"ZULEMA"
"ZULMA"现在如果我添加comb()
for '../names.txt'.IO.slurp.split(',').sort -> $name {
say $name.comb;
}我得到了
...
(" Z O N I A ")
(" Z O R A ")
(" Z O R A I D A ")
(" Z U L A ")
(" Z U L E M A ")
(" Z U L M A ")但是,如果我只是从repl中运行;
> "ZULMA".comb我得到了
(Z U L M A) #注意没有引号
为什么comb在这两种情况下表现不同?
发布于 2019-11-21 22:15:47
它的表现并没有什么不同。在一种情况下,引号是语法元素-代码的一部分-而在另一种情况下,数据是从文件中逐字读取的:
"ZULMA".comb
'"ZULMA"'.comb数据是不同的。而不是行为。
https://stackoverflow.com/questions/58976807
复制相似问题