簡體   English   中英

Haskell 初學者問題,在定義中設置對

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM