【问题标题】:Is SML hiding elements of the list? [duplicate]SML 是否隐藏列表的元素? [复制]
【发布时间】:2018-06-14 21:40:01
【问题描述】:

我正在测试以下代码:

datatype my_int_list = Empty 
                     | Cons of int * my_int_list

fun append (xs, ys) =
    case xs of
        Empty => ys 
      | Cons(x, xs') => Cons(x, append(xs', ys))

如果我创建一个元素或两个元素的列表,一切正常。如果我创建三个元素的列表,它会引入 # 符号。

- Cons(1, Empty);
val it = Cons (1,Empty) : my_int_list
- Cons(1, Cons(2, Empty));
val it = Cons (1,Cons (2,Empty)) : my_int_list
- Cons(1, Cons(2, Cons(3, Empty)));
val it = Cons (1,Cons (2,Cons #)) : my_int_list

当我尝试使用 append 函数时会发生这种情况:

- val l1 = Cons(1, Cons(2, Cons(3, Empty)));
val l1 = Cons (1,Cons (2,Cons #)) : my_int_list
- val l2 = Cons(4, Cons(5, Cons(6, Empty)));
val l2 = Cons (4,Cons (5,Cons #)) : my_int_list
- append(l1, l2);
val it = Cons (1,Cons (2,Cons #)) : my_int_list

这只是SML 的方式告诉有更多元素但它不会费心打印它们吗?如果是这样,我可以要求它打印所有内容吗?如果没有,我是不是做错了什么?

【问题讨论】:

    标签: list sml


    【解决方案1】:

    这只是 SML 的方式来说明还有更多元素,但它不会费心打印它们吗?

    是的!

    如果是这样,我可以要求它打印所有内容吗?

    Yes!

    如果没有,我是不是做错了什么?

    不!

    【讨论】:

      猜你喜欢
      • 2014-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-08
      • 2021-07-29
      • 2020-10-12
      • 2013-12-18
      相关资源
      最近更新 更多