首页 > 解决方案 > 获取错误未绑定变量或构造函数

问题描述

该代码在 New Jersey v110.78 的在线标准 ML 上运行良好,但在 unix SNL/NJ .93 上显示错误。这是代码

fun check( num:int ) = 

 let
   val x = List.tabulate(num, fn x => x*x)
   val k =tl(x)
   val y = List.filter( fn z => num mod z = 0)k
   val ans = List.last(y)
   val final = Real.ceil(Math.sqrt (Real.fromInt ans))
 in
 final
 end;
val nu = check(8)

错误是表格、过滤器、最后一个、ceil 和数学的未绑定结构中的未绑定构造函数或变量。

标签: smlsmlnjunbound

解决方案


听起来您在此 SML/NJ .93 中的标准库配置不正确。如果您阅读 StackOverflow Q&A如何安装 SML-New jersey .93 版本?你会看到的

SMLNJ 0.93 版于 1993 年发布。它可用于历史目的。[...] 它从未在任何版本的 Microsoft Windows 上测试过 [...] 它极不可能在 Windows [...]

我建议不要使用此版本,除非您愿意处理运行不是为我们这个时代的操作系统设计的软件的后果,无论是 Windows 还是其他操作系统。


推荐阅读