我有一個動態 txt 檔案示例(1,1,1),我試圖從檔案中讀取它們以將它們傳遞給問題函式。
功能problem :: Int->Int->Int->[Int]
args <- getArgs
contents <- readFile (head args)
let value = read contents::(Int,Int,Int)
//print(show(problem 1 1 1))
print(show(problem value))
無法將預期型別 'Int' 與實際型別 '(Int, Int, Int)' 匹配
uj5u.com熱心網友回復:
您需要提取這三個Int值才能將它們單獨傳遞給problem.
let (a, b, c) = read contents :: (Int, Int, Int)
print (show (problem a b c))
相反,您可以定義一個uncurry3函式來適應problem使用元組。
uncurry3 :: (a -> b -> c -> d) -> ((a, b, c) -> d)
uncurry3 f = \(x,y,z) -> f x y z
print (show ((uncurry3 problem) value))
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/487869.html
標籤:哈斯克尔
下一篇:Haskell極慢的簡單復發
