:while
私は clojure を勉強していますが、と:when
testの違いがよくわかりません:
=> (for [x [1 2 3] y [1 2 3] :while (= (mod x y) 0)] [x y])
([1 1] [2 1] [2 2] [3 1])
=> (for [x [1 2 3] y [1 2 3] :when (= (mod x y) 0)] [x y])
([1 1] [2 1] [2 2] [3 1] [3 3])
誰かがそれらについて詳しく説明することで助けることができますか?