私が始点と終点を知っているシーケンスがあり、ジェネレータが単純であるとします。私はそれを怠惰にすることはできますか?Perl 6で有限リストを怠けることはできますか?
my @b = 0 ... 3;
say 'Is @b lazy? ' ~ @b.is-lazy; # Not lazy
私は自分自身で倍の数が不明なリストを知られているが、すぐに全体のリストを生成しない組み合わせにしたいと思います。
my @cross = [X] @b xx $n;
は、私は他の単純な事項やプログラミングを介してこれを行うことができます知っている(と私はPerl 5 Set::CrossProductはまさにそれを行います)が、いくつかの簡単で、意図した方法がある場合、私は好奇心が強い:私は@cross
は怠け者になりたいです私は行方不明です。私自身は数え切れません。
逆の質問として、それは怠け者になるシーケンスの特徴は何ですか?それは単なる終点ですか?ジェネレータが間に無限の値を作ることができるなら、まだ怠惰かもしれない既知のエンドポイントを持つシーケンスがありますか?どのくらいの情報を削除して、このような情報を試してみたのかと思った。
my $m = @*ARGS[0];
my @b = 0, * + $m ...^* > 3;
say 'Is @b lazy? ' ~ @b.is-lazy;
say '@b: ' ~ @b;
これは怠け者ではない。
Huh。私はそれを試みたと確信していた。ありがとう! –