正在拆分用于模式匹配的构造函数



如果我有这样的函数:

func:: Arg1->Arg2->String

Arg1有一个类似于的构造函数

data Arg1 = something1 something2 something3

我想对func中的一个Arg1构造函数进行模式匹配(下面我对"Val1"进行了模式匹配):

func:: Arg1->Arg2->String
func (a b Val1) e = "Something"

但它一直说我解析符号"a"有问题

括号中的变量仅代表Arg1???"e"是Arg2参数。

编辑:这似乎有效:

func:: Arg1-> Arg2-> String
func (A b Val1) e = "Something"

但我不能在A上进行模式匹配,因为我不在乎那个值。

编辑2:似乎我需要做:

data Arg1 = Arg1 something1 something2 something3

让它工作?!?!

您还必须在构造函数上进行模式匹配。您还忘记为Arg1指定构造函数。

func :: Arg1 -> Arg2 -> String
func (Arg1 a b Val1 d) e = "Foobar"

相关内容

  • 没有找到相关文章

最新更新