我知道通常有这样的功能
f _ [] = Nothing
f a (x:xs) = ...
Run Code Online (Sandbox Code Playgroud)
在Haskell中,似乎惯用的_是一次性参数名称。
如果我有很多我不在乎的怎么办?例如
g _ _ [] _ = Nothing
g a _ (x:xs) b = ...
Run Code Online (Sandbox Code Playgroud)
是我想写的,但我认为我不能_在一个定义中有多个。
那么,当我不关心其中的很多时该怎么办?
Lor*_*nzo 11
在同一函数中,您肯定可以有多个下划线。由于它们没有分配任何值,因此不会覆盖任何内容。
它也更容易阅读,因为您知道值是什么并不重要,并且您可以注意对结果有实际贡献的内容。另外,如果在编译时启用了所有警告,则如果不使用具有名称的参数,则实际上会得到错误:
g a b = b
Run Code Online (Sandbox Code Playgroud)
将返回一个 Warning: Defined but not used: 'a'