首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么comb在循环中的行为不同?

为什么comb在循环中的行为不同?
EN

Stack Overflow用户
提问于 2019-11-21 22:05:21
回答 1查看 111关注 0票数 8

注意:我使用的是Rakudo Star version2019.03.1,构建于实现Perl6.d的MoarVM版本2019.03之上。

在euler项目#22中有一个names.txt文件,类似于"JERE","HAI","ELDEN","DORSEY","DARELL","BRODERICK","ALONSO",...

当我读进去的时候,拆分并排序,我得到了我所期望的名字列表。

代码语言:javascript
复制
for '../names.txt'.IO.slurp.split(',').sort -> $name {
    say $name;
}

打印出来的

代码语言:javascript
复制
...
"ZONIA"
"ZORA"
"ZORAIDA"
"ZULA"
"ZULEMA"
"ZULMA"

现在如果我添加comb()

代码语言:javascript
复制
for '../names.txt'.IO.slurp.split(',').sort -> $name {
    say $name.comb;
}

我得到了

代码语言:javascript
复制
...
(" 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中运行;

代码语言:javascript
复制
> "ZULMA".comb

我得到了

(Z U L M A) #注意没有引号

为什么comb在这两种情况下表现不同?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-21 22:15:47

它的表现并没有什么不同。在一种情况下,引号是语法元素-代码的一部分-而在另一种情况下,数据是从文件中逐字读取的:

代码语言:javascript
复制
"ZULMA".comb
'"ZULMA"'.comb

数据是不同的。而不是行为。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58976807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档