以下は、修飾子「while」が、要素がチェックに一致すると反復が停止することを意味することを示しています。
=> (for [x [3 2 3 1] :while (< x 3)] x)
()
しかし、なぜ次の反復が停止しないのでしょうか? 私の(間違った)理解では空のリストを返すはずです。
=> (for [x [3 2 3 1] y [:a :b] :while (< x 3)] [x y])
([2 :a] [2 :b] [1 :a] [1 :b])
実際、この場合、"when" 修飾子と "while" 修飾子の間に違いはありません。
=> (for [x [3 2 3 1] y [:a :b] :when (< x 3)] [x y])
([2 :a] [2 :b] [1 :a] [1 :b])
それはどのように起こりますか?