リストと操作を受け入れ、そのリストに対して操作を実行する次の関数があります。
-- SUMLIST function
sumList :: Num a => [a1] -> (a1 -> a) -> a
sumList numList oper = sum (map (oper) numList)
GHCI プロンプトから呼び出すと、正常に動作します。
sumList [1,2,3,4,5] (*3)
gives: 45
しかし、ラッパーを書き、ファイルから値を渡したい: {line is SUMLIST [1,2,3,4,5] (*3) }
let x = (splitOn " " line)
print (sumList (read (x!!1) :: [Int]) (x!!2) )
ここで、リストである最初のパラメーターをタイプケース化できますが、実際のマッピングである2番目のパラメーターに対して何をすべきか 誰かが私を正しい方向に導いてくれますか