Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何查看smlnj shell中的所有列表项?_Sml_Smlnj - Fatal编程技术网

如何查看smlnj shell中的所有列表项?

如何查看smlnj shell中的所有列表项?,sml,smlnj,Sml,Smlnj,我有一个包含365项的列表,对应于一年中的天数 我需要将我的结果与手动计算的结果进行比较,但我只能看到: val it = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,...] : int list 有没有一种方法可以在不编写帮助函数的情况下实现这一点?正如quoify所建议的,可以增加SML/NJ渲染非常大值的深度 但您也可以使用=进行比较,而看不到列表的末尾 例如,假设您的365天长度列表名为days,手动计算的结果名为check,然后在REPL-on-inspect

我有一个包含365项的列表,对应于一年中的天数

我需要将我的结果与手动计算的结果进行比较,但我只能看到:

val it = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,...] : int list

有没有一种方法可以在不编写帮助函数的情况下实现这一点?

正如quoify所建议的,可以增加SML/NJ渲染非常大值的深度

但您也可以使用
=
进行比较,而看不到列表的末尾

例如,假设您的365天长度列表名为
days
,手动计算的结果名为
check
,然后在REPL-on-inspection中,它看起来就像是两个方面的大量
1

在这些值上使用
=
将显示是否有相同数量的元素,并且这些元素成对排列,实际上是相同的

- days = check;
> val it = true : bool
如果
days
check
包含不同数量的元素,或者如果
部分中的
1
实际上是
0
,那么比较它们是否相等将返回
false
。因此,如果您可以通过编程验证365个值是否相等,那么您实际上不需要在屏幕上看到365个值。不管怎么说,这都不容易出错

有没有一种方法可以在不编写助手函数的情况下实现这一点

如上所述;但是我想问:这里的helper函数有什么不好的地方?我认为,如果使用帮助函数,您将减少在手动检查的值中意外键入364或367
1
s的风险

下面是一个函数,它生成
n
份数
x
的列表:

fun repeat 0 x = []
  | repeat n x = x :: repeat (n-1) x
然后,您可以创建一个函数来检查您的
天数

fun does_it_have_365_1s xs =
    xs = repeat 365 1
在REPL中运行此命令:

- does_it_have_365_1s [1,1,1];
> val it = false : bool
- does_it_have_365_1s [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];
> val it = true : bool
哦,天哪,我真的打了吗

让我们将单个
1
翻转为
0

- does_it_have_365_1s [1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];
> val it = false : bool

也许使用控制结构:?谢谢你,西蒙。我想可能是sml二进制文件上有一个开关或者其他设置返回结果宽度的东西。哦,好吧。学习如何“自己滚”是一项有用的技能。库伊菲指着开关。我的建议不是像“与终端的不希望的行为共存”中那样推出自己的产品,而是将这种行为视为良好的行为,并以不同的方式自动验证非常大的数据结构。:-)
- does_it_have_365_1s [1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];
> val it = false : bool