簡體   English   中英

匹配Haskell中的數據類型。轉換錯誤

[英]Matching data types in Haskell. Conversion error

我正在嘗試編寫 function trade_report:: String -> [Transaction] -> String它將獲取列表中的一個元素並返回與該元素關聯的值。

對於 Type 事務是什么的上下文:

type Transaction = (Char, Int, Int, String, Int) 

test_log :: [Transaction]
test_log = [('B', 100, 1104,  "VTI",  1),
            ('B', 200,   36, "ONEQ",  3),
            ('B',  50, 1223,  "VTI",  5),
            ('S', 150, 1240,  "VTI",  9),
            ('B', 100,  229, "IWRD", 10),
            ('S', 200,   32, "ONEQ", 11), 
            ('S', 100,  210, "IWRD", 12)
            ]

get_trades返回Transaction列表 transaction_to_string僅采用單個Transaction值。 您需要使用map

> :t transaction_to_string
transaction_to_string :: Transaction -> String
> :t map transaction_to_string
map transaction_to_string :: [Transaction] -> [String]

獲得String值列表后,您可以使用Data.List.intercalate將它們與\n字符連接在一起。

> import Data.List
> intercalate "\n" ["foo", "bar"]
"foo\nbar"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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