【问题标题】:SML: Boolean functionSML:布尔函数
【发布时间】:2012-01-23 15:04:52
【问题描述】:

在学习 SML 时,我提出了以下问题。看这个例子:

fun check (elem,myList) =
let
  fun check1 elem [] = fn (x,_,_) => elem > x
  fun check2 elem [] = fn (_,y,_) => elem < y
in
  if check1 andalso check2 then 1 else 0
end

问题是 IF THEN 规则在这里不起作用。为什么?据我了解 check1 和 check2 应该返回 BOOL 值,这允许使用 IF THEN。我尝试声明局部变量,但这无助于解决问题。

【问题讨论】:

    标签: list boolean sml


    【解决方案1】:

    check1check2 是函数,而不是 bool 值。大概,你会想把它们应用到什么东西上?

    【讨论】:

    • 函数“check”应该只返回 0 或 1,具体取决于 check1 和 check2 的逻辑与结果。该函数只能用:in check1 end 编译。但这不是我需要的。
    • 好的,我明白了这个问题。这个函数的逻辑和我想的完全不一样。
    猜你喜欢
    • 2023-02-07
    • 1970-01-01
    • 2021-01-23
    • 2013-05-06
    • 2011-10-17
    • 2011-11-05
    • 2015-10-07
    • 2015-10-10
    • 1970-01-01
    相关资源
    最近更新 更多