-2
A
回答
8
在函數定義,該函數的參數必須patterns,即,它們必須是
- 通配符
_
,它匹配一切並結合無關, - 可變圖案
var
,其匹配所有內容並將相應的參數綁定到參數 - 一個文字(整數,浮點數,字符或字符串),它將參數與模式匹配,
- value co nstructor施加到儘可能多的圖案作爲其元數要求(從而圖案可以嵌套),
- 列表圖案
[elem1, elem2, elem3, elem4]
, - 標記圖案
Con{ field1 = value1, field2 = value2 }
, - 一個parenthesised圖案
(pattern)
, - 一個元組模式
(pattern1, pattern2, pattern3)
, - 一個作爲圖案,
[email protected]
,整個參數var
和組件結合,如果它匹配pattern
,或 的對應部分
- 一個無可辯駁的模式
~pattern
,它綁定參數。其部分分別爲pattern
。其部分,並且如果參數實際上不匹配pattern
,則會導致運行時錯誤。
在片段
f3 1 (f2 x) y
的部分(f2 x)
不是圖案,但表達,施加到一個值(x
)(f2
)的函數的,因此一個功能定義不能具有形式
f3 1 (f2 x) y = whatever
最接近的合法函數的定義是
f3 1 (F2 x) y = ...
與一個(一元)價值構造函數F2
。
相關問題
- 1. 哈斯克爾 - 模式匹配和exitSuccess
- 2. 哈斯克爾模式匹配問題
- 3. 哈斯克爾模式匹配警告
- 4. 哈斯克爾模式匹配元組
- 5. 哈斯克爾 - 模式匹配的語法糖和地方
- 6. 哈斯克爾非詳盡模式
- 7. 哈斯克爾模式匹配對稱的情況下
- 8. 模式匹配的數據類型和哈斯克爾
- 9. 哈斯克爾的數據類型模式匹配
- 10. 哈斯克爾模式匹配的第一,中段和最後
- 11. 空集上的哈斯克爾模式匹配
- 12. 哈斯克爾的數據類型模式匹配
- 13. 哈斯克爾模式匹配 - 如何使用可變
- 14. 哈斯克爾:模式匹配字符串
- 15. 哈斯克爾列表綜合和模式匹配
- 16. 哈斯克爾 - 模式匹配(ES)重疊
- 17. 元組模式匹配列表哈斯克爾
- 18. 哈斯克爾:模式與列表匹配
- 19. 錯誤類型匹配哈斯克爾
- 20. 哈斯克爾:類型不匹配
- 21. 如何匹配與亞歷克斯/哈斯克爾
- 22. 哈斯克爾
- 23. 哈斯克爾
- 24. 哈斯克爾
- 25. 模式在Perl ALA哈斯克爾
- 26. 哈斯克爾模式與沙箱
- 27. 哈斯克爾式部分
- 28. 哈斯克爾NEWTYPE語法
- 29. 哈斯克爾,在功能成分「無法匹配,期望型」
- 30. 哈斯克爾錯誤:無法匹配類型「A」與「B」
這不是一個聲明。這是一個表達片段。周圍的代碼是什麼?你會得到什麼錯誤? – 2012-04-26 19:14:42
它是haskell入門課程考試題的一部分。問題是:對於使用模式的以下函數定義左側(定義函數f1,f2,f3,f4 和f5),說明模式是否合法,如果合法,則精確解釋它們與哪些參數值相匹配如果違法,請解釋他們爲什麼不被允許。(i)f1 1(f2 x)y(ii)f2 0(x:'x':cs)8(iii)f3 zy (iv)f4(a:[b])(v)f5 a 1 [4 ,a] [] – grimebox 2012-04-27 12:50:30
我理解他們除了部分(i) – grimebox 2012-04-27 12:51:54