Perl 6中......和...之间有什么区别?
例如,以下行将产生相同的输出:
for 1..5 { .say };
for 1...5 { .say };
答案 0 :(得分:10)
..
构造一个范围对象(想想数学区间)。
...
构造一个序列(想想懒惰生成的一次性列表)。
如果我想要做的就是迭代连续的整数(例如用于索引),我更喜欢他以前(它是不太通用的工具,而且一个字符更短的引导)。
如果你需要更精确的控制,请使用后者(例如,在Perl6中生成Fibonacci序列的惯用示例由表达式1, 1, *+* ... *
给出,其中第三项*+*
是归纳的规则生成元素。)