我正在通读 Real World Haskell,并试图理解 as 模式。
摘自书中(第 4 章):
suffixes :: [a] -> [[a]]
suffixes xs@(_:xs') = xs : suffixes xs'
suffixes _ = []
这本书解释了@符号,
“...将变量 xs 绑定到与右侧匹配的值
@ 象征。”
我无法理解这个解释。
假设我打电话
suffixes "hello"
明确地说,上面带有 @ 的行对此有何作用(在第一次迭代中)?我知道该函数的结果是什么,但看不到我们如何从上面的代码中得到它。
xs'
将被绑定到字符串"ello"
.
xs
将被绑定到字符串"hello"
.
The @
模式允许您为变量命名,同时还匹配其结构,并可能为组件命名。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)