如何在 haskell 中匹配此模式
How can I match this pattern in haskell
我有数据
LNode(TypedL(2.72489e12,"http://www.w3.org/2001/XMLSchema#double"))
我想要一个匿名函数从这个匹配到 2.72489e12
myfunc (LNode(TypedL(c, d))) = c
给予
Constructor `TypedL' should have 2 arguments, but has been given 1.
我对这个函数的语法有误吗?
问题在于您调用函数的方式。在Haskell中,函数和构造函数是这样调用的:
function arg1 arg2 arg3
所以,当它说它需要两个参数时,意思是:
myfunc (LNode (TypedL c d)) = c
-- ~~~
元组 ((a, b, c)
) 是独立的数据类型。如果已定义,它们可以用作函数参数,但这通常被视为不合常理的 Haskell.
我有数据
LNode(TypedL(2.72489e12,"http://www.w3.org/2001/XMLSchema#double"))
我想要一个匿名函数从这个匹配到 2.72489e12
myfunc (LNode(TypedL(c, d))) = c
给予
Constructor `TypedL' should have 2 arguments, but has been given 1.
我对这个函数的语法有误吗?
问题在于您调用函数的方式。在Haskell中,函数和构造函数是这样调用的:
function arg1 arg2 arg3
所以,当它说它需要两个参数时,意思是:
myfunc (LNode (TypedL c d)) = c
-- ~~~
元组 ((a, b, c)
) 是独立的数据类型。如果已定义,它们可以用作函数参数,但这通常被视为不合常理的 Haskell.