-1
A
回答
3
如果我們舉個例子,Int
類型的參數,那麼two
類型是這樣的:
two :: (Int -> Int -> Int) -> (Int, Int) -> Int
two f (a,b) = f a b
例如:
two (*) (3,4)
12
說明:
你正在接受一個函數,它帶有兩個參數(Int -> Int -> Int)
和元組(Int, Int)
並將該函數應用於a
和b
。
的實際類型,而不是限制的時候,其實是這樣的:
:t two
two :: (t1 -> t2 -> t) -> (t1, t2) -> t
因此,例如,其他的事情都是可能的:
two (++) ("he","llo")
"hello"
(等等等等)
+0
'two'的類型顯然不會被限制爲'Int',這是令人費解的。將它與實際類型一起介紹會不會更好,然後如果有必要,請使用'Int'提供一個具體示例? – amnn
+0
爲真,類型不受限制。我覺得'Int'的例子更容易理解。我會更清楚地注意到它 – vikingsteve
相關問題
- 1. C#:這在方法聲明
- 2. 這個方法在哪裏聲明?
- 3. Haskell打印聲明
- 4. Haskell類型聲明
- 5. Haskell數據聲明
- 6. 方法聲明
- 7. 解釋這個特定方法聲明的語法
- 8. 的方法聲明
- 9. 的是這兩個聲明
- 10. 方法聲明中的這個約定是什麼?
- 11. 減少這個if..else聲明的方法更多嗎?
- 12. 是否有更通用的方法來聲明這個數組?
- 13. iPhone:對於這個方法聲明的含義感到困惑
- 14. Haskell:這個方法做什麼
- 15. C#方法聲明
- 16. Java方法聲明
- 17. C++方法聲明
- 18. Haskell:|在類別聲明中
- 19. 創建Haskell實例聲明
- 20. Haskell - 聲明/使用數據
- 21. 或聲明的方法
- 22. Lua中的方法聲明
- 23. 方法聲明的協議?
- 24. 如何解釋這個Objective C方法聲明「 - method:parameter;」
- 25. 爲什麼在這個方法聲明中沒有*?
- 26. Java泛型 - 這兩個方法聲明是否等價?
- 27. 這裏有一個聲明
- 28. 這個聲明在PHP
- 29. 我不明白這個錯誤haskell
- 30. 聲明一個DataTable和添加方法
我不知道你在這裏問什麼。是(a,b)'元組?是關於如何定義函數或函數的類型的問題? – Abizern
如何調用它?我會說'uncurry'! – Ingo
是的,我認爲這是一個tupple,即時通訊談論兩個:: .... – user3157778