如果我的問題措辭不好,但我似乎缺乏特別要求的話。如何閱讀此列表?
我在搜索Haskell學習資源時找到一行,其結果是從1到1000的三個倍數的列表。我明白這條線是幹什麼的,在GHCi中看到評估並不難。
[n | n <- [1..1000], n `rem` 3 == 0]
我實際的問題是我不知道如何讀純englisch和究竟是如何生成的列表中,什麼n | n <- [1..1000]
方式這條線。 這可以讀取類似於for循環?
這樣的表達在我讀過的基本教程中沒有涉及。我在哪裏可以找到被認爲是初學者閱讀的文檔,並介紹如何清楚地閱讀表達式?
這將極大地提高我的性學習的過程中,如果我竟有些詞彙描述什麼I型那裏;)
向你學習Haskell For Good Good在本書開頭部分有一節 - http://learnyouahaskell.com/starting-out#im-a-list-comprehension – ocharles
有趣的東西。我知道它,但確實從Real World Haskell開始,在包含列表的許多不同示例之後,它在第280頁的相當晚的時候涵蓋了它。現在我不明白爲什麼這是生成特定列表的好方法。 –
順便說一下,這種表示法的靈感來自所謂的[set-builder notation](http://en.wikipedia.org/wiki/Set-builder_notation) – hvr