Tho*_*mas 10
ls
不是预定义的东西.它就是你绑定它的任何东西,就像它一样xs
.
例如,我认为您已经看过这样的示例:
sum [] = 0
sum (x:xs) = x + sum xs
Run Code Online (Sandbox Code Playgroud)
由于模式的原因xs
,您在此处定义的变量将被绑定(将具有值)列表的其余部分(x:xs)
.但这同样可以写成:
sum [] = 0
sum (l:ls) = l + sum ls
Run Code Online (Sandbox Code Playgroud)
我们宁愿不调用变量l
,因为它很容易与数字混淆1
(甚至是|
真正混乱的字体上的管道符号).
我们甚至可以写:
sum [] = 0
sum (head:tail) = head + sum tail
Run Code Online (Sandbox Code Playgroud)
在这里我们再次使用的内置前奏函数的名称head
和tail
,但这样势必会导致混乱.