注意:我正在使用REPL执行以下操作 这是基于MoarVM版本2019.03构建的Rakudo Star版本2019.03.1 实施Perl 6.d。
在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
在这两种情况下为何表现不同?
答案 0 :(得分:10)
行为没有不同。在一种情况下,引号是一种语法元素(是代码的一部分),而在另一种情况下,则从文件中逐字读取数据:
"ZULMA".comb
'"ZULMA"'.comb
数据不同。不是行为。