【问题标题】:Standard ML multiple condition statement标准 ML 多条件语句
【发布时间】:2017-06-12 11:18:03
【问题描述】:

我即将完成我正在编写的脚本,但我还有最后一个条件语句要添加到我的函数中。

fun whileloop (x:real,a:int,b:real) =
    if (a<1)
    then (x,a,b) 
    else whileloop(x+1.0,a-1,b-1.0)

这是我创建的当前循环。它基本上完成了我在一个例外下需要的一切。一旦 b 变量达到零,我希望它退出循环(如果这发生在 a 达到零之前)。我相信标准 ML 不会让我为实变量做条件语句……例如 b

fun whileloop (x:real,a:int,b:real) =
    if (a<1 or b<1.0)
    then (x,a,b) 
    else whileloop(x+1.0,a-1,b-1.0)

当然,由于语法和条件语句是根据实数检查的,所以这段代码不起作用……但是我怎样才能在保持我的骨架完好无损的同时完成这项任务。我只是想在现有骨架中添加另一个 if 条件语句。在 C++ 中,这是一个相当简单的任务。

【问题讨论】:

  • 关键字错误。 or => orelse。通过该更改,您的第二个功能按预期工作。
  • 谢谢,没想到我离得这么近!

标签: if-statement sml smlnj


【解决方案1】:

这就是答案。感谢约翰·科尔曼。

fun whileloop (x:real,a:int,b:real) =
    if (a<1 orelse b<1.0)
    then (x,a,b) 
    else whileloop(x+1.0,a-1,b-1.0)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-31
    • 2016-06-11
    • 2019-08-02
    • 2010-10-19
    • 1970-01-01
    • 2021-07-15
    • 2018-09-12
    • 1970-01-01
    相关资源
    最近更新 更多