我正在构建一个简单的函数来从List1
中删除item
......
fun Strip(item, List1) = filter (fn x => x <> item) List1;
输入:
Strip(3,[1,2,3,4,3]);
错误:
Error: Unbound variable or constructor: Strip
备用输入:
filter (fn x => x <> 5) [1,3,5,2,5];
备用错误:
stdIn:1.2-1.8 Error: unbound variable or constructor: filter
知道为什么这么简单的功能不起作用吗?
对于错误消息"未绑定变量或构造函数:过滤器",在这种情况下,这意味着标识符"filter"在顶级环境中不存在。由于filter
是在结构List
中定义的,因此在使用filter
之前,您必须使用List.filter
或发出语句open List
。例如
List.filter (fn x => x <> 5) [1,3,5,2,5];
或
open List;
filter (fn x => x <> 5) [1,3,5,2,5];
至于使用Strip
时的错误,你确定你的Strip
定义是成功的并且没有错误吗?如果您尝试使用代码显示的filter
,但解释器找不到它,则Strip
的定义应该失败。