繁体   English   中英

List.filter函数在SML / NJ中不起作用

[英]List.filter function not working in SML/NJ

我正在建立一个简单的功能,以从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是在结构List定义的,因此您必须使用List.filter或在使用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的定义应该失败。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM