Perl 6:.. 和...之间的区别?
Perl 6: Difference between .. and ...?
Perl 6 中的 .. 和 ... 有什么区别?
例如,以下行将产生相同的输出:
for 1..5 { .say };
for 1...5 { .say };
..
构造一个范围对象(想想数学区间)。
...
构造一个序列(想想惰性生成的 one-shot 列表)。
如果我想做的只是迭代连续的整数(例如用于索引),我更喜欢前者(这是不太通用的工具,而且启动字符更短)。
如果您需要更精确的控制,请使用后者(例如,在 Perl6 中生成斐波那契数列的惯用示例由表达式 1, 1, *+* ... *
给出,其中第三项 *+*
是规则用于感应生成元素)。
Perl 6 中的 .. 和 ... 有什么区别?
例如,以下行将产生相同的输出:
for 1..5 { .say };
for 1...5 { .say };
..
构造一个范围对象(想想数学区间)。
...
构造一个序列(想想惰性生成的 one-shot 列表)。
如果我想做的只是迭代连续的整数(例如用于索引),我更喜欢前者(这是不太通用的工具,而且启动字符更短)。
如果您需要更精确的控制,请使用后者(例如,在 Perl6 中生成斐波那契数列的惯用示例由表达式 1, 1, *+* ... *
给出,其中第三项 *+*
是规则用于感应生成元素)。