为什么`a::nil`中的`a`表示长度为1的列表



在Ullman的SML书中:

注意,我们将"长度为1的列表"表示为模式的方式是单个标识符周围的方括号,如[a]。这样的模式只能匹配具有单个元素的列表,并且变量a获取该元素作为其值。

另一种表示"长度为1的列表"的方式是使用模式a :: nil。再次,a获取单独的元素作为其值。

a :: nil中,a是否表示列表的头元素?为什么它代表长度为1的列表?

谢谢。

a是列表的头部,nil是列表的尾部。CCD_ 8是长度为零的列表,因此CCD_。

最新更新