我在懒惰的列表上阅读perl6intro,这让我对某些事情感到困惑.
举个例子:
sub foo($x) {
$x**2
}
my $alist = (1,2, &foo ... ^ * > 100);
Run Code Online (Sandbox Code Playgroud)
会给我(1 2 4 16 256),它将相同的数字直到它超过100.我希望这给我(1 4 9 16 25 .. ),所以不是平方相同的数字,将数字提前x1(或另一个给定的"步骤"),foo x等等.
在这种特定情况下是否有可能实现这一目标?
我在懒惰列表上的另一个问题如下:在Haskell中,有一个takeWhile函数,在Perl6中是否存在类似的东西?
对于 R5RS 语言,DrRacket 可以选择打开Disallow redefinition of initial bindings或关闭。
这让我很好奇:是否可以在不使用 DrRacket 的情况下像这样调整语言设置?(例如,从命令行或 Emacs 使用 Racket 时)
如果有,通过哪些方式?如果不是,或者不是以合理的方式,为什么?