2
爲了交換列表的前兩個元素,我已經寫以下代碼:交換列表的前兩個元素,(Haskell中)
swap_first_two_elements :: [a]->[a]
swap_first_two_elements list=case list of
x:y:_ -> y:x:_
[x] -> Nothing
[]-> Nothing
然而,終端顯示所顯示的錯誤如下:
[1 of 1] Compiling Main (test.hs, interpreted)
test.hs:3:16: Pattern syntax in expression context: _
Failed, modules loaded: none.
Prelude>
誰願意告訴我它有什麼問題?
順便說一句,香港專業教育學院也嘗試到了最後兩個行合併爲:
怎麼錯了?終端顯示:
test.hs:4:3: Parse error in pattern: [x] || []
Failed, modules loaded: none.
誰願意告訴我它有什麼問題?謝謝XD
THX的男人,我已經解決了我的錯誤,不做任何變更錯誤「XXX」,所以一切都是固定的,感謝ü如此多的XDD – libra
你歡迎!我建議你稍後嘗試'Maybe'方法。 Haskell有很多很好的工具來處理'Maybe's內部的值,所以你不會因爲保持它而丟失任何東西。 –
順便說一句,最後一個問題要問,因爲你在最後一段代碼的末尾留下了「_ - > Nothing」,是因爲Haskell的順序規則讓x:y:xs在「_-> Nothing」之前? ?,那麼'_-> nothing'將不包含'x:y:xs'這個例子嗎? – libra