Ant*_*ony 4 haskell symbols pattern-matching
suffixes :: [a] -> [[a]]
suffixes xs@(_:xs') = xs : suffixes xs'
suffixes _ = []
Run Code Online (Sandbox Code Playgroud)
我只知道@这里叫做"AsPattern".但它在这里如何运作呢?有人能给我一个分析吗?
怎么样!在哈斯克尔工作.我现在不能举一个例子.但我很确定它确实发生在haskell编程中.
@符号允许您进行模式匹配并引用与模式匹配的整个值.在您的示例中,您可以将整个列表参数称为xs(使用@符号),将列表尾部称为xs'(使用模式匹配).
的!符号可用于强制严格评估值而不是懒惰(使用爆炸模式或严格注释).