[英]Haskell beginner question, set up pairs in definition
所以我對 Haskell 真的很陌生,並且有一個名為:
x :: [(char,Int)]
x
需要定義為 function ,它只是將字符(x,y,z)
與(1,2,3)
以各種方式放在一起。
因此,當我調用x
時,我只想獲取[x,1], [x,2], [x,3], [y,1], [y,2]
等的 output 等。
可能是一些簡單的問題,但我很困惑x
function 中沒有實際輸入。 它只需要 output 列表。
我已嘗試創建兩個列表(數字和字符列表),但如何將它們放在 function 中?
x
不是 function; 這是一個元組列表。 您可以直接定義它,也可以定義foo:: [Char] -> [Int] -> [(Char, Int)]
類型的 function ,然后通過使用兩個適當的列表調用foo
來設置x
。
foo :: [Char] -> [Int] -> [(Char, Int)]
foo chars ints = ... -- You define this
x :: [(Char, Int)]
x = foo ['x', 'y', 'z'] [1, 2, 3]
至於你如何定義foo
,我建議你從閱讀列表推導開始。 它們不是定義foo
的唯一方法,但它們可能是最簡單的。 如果您熟悉 Python 之類的語言中的列表推導,那么您應該沒有問題; Haskell 是 Python 得到這個想法的地方。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.