List 为什么`a::nil`中的`a`表示长度为1的列表?
在Ullman的SML书中: 请注意,我们将“长度列表1”表示为模式的方式是 单个标识符周围的方括号,如List 为什么`a::nil`中的`a`表示长度为1的列表?,list,pattern-matching,sml,ml,List,Pattern Matching,Sml,Ml,在Ullman的SML书中: 请注意,我们将“长度列表1”表示为模式的方式是 单个标识符周围的方括号,如[a]。 这样的模式只能将列表与单个元素和变量进行匹配 获取该元素作为其值 表示“长度1的列表”的另一种方法是使用模式a::nil。 同样,a获取单独的元素作为其值 在a::nil中,a是否表示列表的头元素?为什么它代表长度为1的列表 谢谢。a是列表的头,而nil是列表的尾nil是长度为零的列表,因此a::nil的长度为1
[a]
。
这样的模式只能将列表与单个元素和变量进行匹配
获取该元素作为其值
表示“长度1的列表”的另一种方法是使用模式a::nil
。
同样,a
获取单独的元素作为其值
在a::nil
中,a
是否表示列表的头元素?为什么它代表长度为1的列表
谢谢。
a
是列表的头,而nil
是列表的尾nil
是长度为零的列表,因此a::nil
的长度为1