我是Haskell的新手,我有以下問題。我必須創建一個數字列表[f1,f2,f3 ...],其中fi x = x^i
。然後,我必須創建一個將fi
應用於數字列表的函數。例如,如果我有一個列表lis = [4,5,6,7..]
輸出將是[4^1, 5^2,6^3, 7^4...]
。這是我至今寫:哈斯克爾映射函數列表
powers x= [x^y |y<-[1,2,3,4]]
list = [1,2,3,4]
match :: (x -> xs) -> [x] -> [xs]
match f [] = []
match f (x:xs) = (f x) : (match f xs)
所以,如果我把名單= [1,2,3]輸出爲[1,1,1,1] [2,4,8,16],[3,9,27,81]而不是[1,4,27]
你能告訴我什麼是錯的,並指向正確的方向嗎?
或'zipWith(^)list [1 ..]'。 – dave4420 2012-02-07 17:42:13
嘿 - 這就是我模仿OP的設計所得到的結果 – Retief 2012-02-07 18:03:50