Perl 6:......和...之间的区别?

问题描述 投票:5回答:1

Perl 6中......和...有什么区别?

例如,以下行将生成相同的输出:

for 1..5 { .say };

for 1...5 { .say };
perl6
1个回答
10
投票

..构造一个范围对象(想想数学区间)。

...构建一个序列(想想懒惰生成的一次性列表)。

如果我想要做的就是迭代连续的整数(例如用于索引),我更喜欢他的前者(它是不太通用的工具,而且一个字符更短的引导)。

如果您需要更精确的控制,请使用后者(例如,在Perl6中生成Fibonacci序列的惯用示例由表达式1, 1, *+* ... *给出,其中第三项*+*是用于归纳生成元素的规则)。

© www.soinside.com 2019 - 2024. All rights reserved.