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