在我的測試考試中,一個問題是,這個方法做了什麼。Haskell:這個方法做什麼
dos a = ([x | x <- [2..div a 2], mod a x == 0] == [])
我是新來的Haskell,但據我可以說,它會檢查如果dos a = ([x | x <- [2..div a 2], mod a x == 0])
結果是一個空列表。另外x是a
除以2的所有數字,其中%數字== 0.因此,這是所有偶數?它似乎檢查數字是否可以通過2分割,如果是 - > false,否則返回。任何人都可以向我詳細解釋語義嗎?
找出最好的方法是打破多個函數中的表達式,並在REPL中評估它們。 '[2..div a 2]'返回從2到a/2的整數列表。 – Simon 2013-02-19 16:13:56