当一切看起来正确时,SML收到一个未绑定的变量或构造函数错误

问题描述

我正在尝试找出相互递归。我有以下代码

val dynamic_frame = DynamicFrame(dataFrame,glueContext)

但是它给了我这些错误

{"ABC": "123456"}
{"name": "this is my name","age":"103","country":"USA"}

我在做什么错了?

解决方法

您的即时错误是因为Standard ML区分大小写,并且其所有保留字均为小写;因此您需要写and而不是AND

此外,fun引入了整个声明,而不是单独的绑定,这意味着您需要在fun之后删除多余的and

最后,您的函数当前需要列表具有相等类型(例如int liststring list),该类型可能不会破坏交易,但鉴于函数的实际作用,确实没有理由他们不支持非相等类型,例如real list。为此,您应该使参数与 pattern nil匹配,而不是测试参数是否等于 {{1} }。 (通常,应该在更多地方使用模式匹配;没有理由调用nilhd。)

将它们放在一起:

tl