저는 하스켈을 좋아하고 몇 가지를 이해하려고 애쓰는 것을 좋아합니다. [1,2,3,4
을 반환Haskell 목록이 고정되었습니다.
list1 = [1..]
list2 = [x | x <- list1, x <= 4]
print list2
: 다음과 같은 처리를 할 경우 나는 문제를받을 수 있습니다. 끝 괄호가 없으므로 목록이로드되거나 고정되어있는 것처럼 보입니다. 여기 보이는 모습입니다 :
Prelude> print list2
[1,2,3,4
여기 무슨 일이 일어나고있는 걸까요? 어떻게됩니까
이상 4. 당신이 GHCI을 가장하십시오 값을 찾으면
list1
평가하고 중지 할 수 있도록, 대신에 지능형리스트의,takeWhile
를 사용합니다. 사용자는 무한한 목록을 제공하고 목록에있는 4보다 작거나 같은 모든 값을 찾도록 요청합니다. 어떻게 할 것입니까? (목록에 순서가 있음을 알지 못한다는 것을 명심하십시오.) – user2297560아, 맞습니다. 이와 같은 무한한 목록 및 조건을 처리 할 수있는 방법이 있습니까? – greenthumbtack
'list1'에서'take 4' 엘리먼트를 사용할 수 있습니다 (말 그대로'list2 = take 4 list1') – user28434