【问题标题】:SML [circularity] errorSML [圆度] 错误
【发布时间】:2011-01-09 03:40:13
【问题描述】:

我想编写一个仅从列表中提取奇数的函数。比如:

fun odd(nil) = nil
  | odd(a::nil) = a
  | odd(a::(b::c)) = a::odd(c);

但是会导致这个错误:

运算符和操作数不一致[循环性]

【问题讨论】:

    标签: sml


    【解决方案1】:

    在您的第二种情况下odd(a::nil) = a 您返回a,这是一个单一元素。在其他两种情况下,您返回一个列表。如果你把它改成odd(a::nil) = [a],那么所有的case都返回一个列表,就可以了。

    【讨论】:

    • 是的,你是对的。谢谢你。马可
    猜你喜欢
    • 2013-01-31
    • 2017-11-20
    • 2018-02-21
    • 1970-01-01
    • 1970-01-01
    • 2014-07-15
    • 2017-06-01
    • 2013-01-10
    • 2011-05-12
    相关资源
    最近更新 更多