Obs*_*_42 1 haskell functional-programming tuples sum
如何在 Haskell 中添加两个元组的元素以得到第三个元组。签名是这样的,
Add :: (Int,Int) -> (Int,Int) ->(Int,Int)
Add a b = ....
Run Code Online (Sandbox Code Playgroud)
到目前为止,我只能想到这个:
Add a b = [(x, y) | a = (x1, y1), b = (x2, y2), x=x1+x2, y =y1+y2n]
Run Code Online (Sandbox Code Playgroud)
然而,我对 Haskell 很陌生,那么我所做的是否正确?
你所做的事情是不正确的。列表理解不是执行此操作的正确方法。
使用模式匹配来提取元组的元素:
add :: (Int, Int) -> (Int, Int) -> (Int, Int)
add (x, y) (u, v) = (x+u, y+v)
Run Code Online (Sandbox Code Playgroud)
fst
使用和提取元组的元素snd
:
add2 :: (Int, Int) -> (Int, Int) -> (Int, Int)
add2 x y = (fst x + fst y, snd x + snd y)
Run Code Online (Sandbox Code Playgroud)
另请记住,Haskell 中的函数不能以大写字母开头。
归档时间: |
|
查看次数: |
3175 次 |
最近记录: |