标准ML多条件声明

时间:2017-06-11 22:44:41

标签: if-statement sml smlnj

我已经完成了我正在编写的脚本但是我有一个最后的条件语句要添加到我的函数中。

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变量达到零时退出其循环[如果在达到零之前发生这种情况)。我相信标准ML不会让我为实变量做一个条件陈述......比如b <1.0。只是为了让您了解我想要完成的任务...我想在下面使用以下代码:

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 ++中,这是一项相当简单的任务。

1 个答案:

答案 0 :(得分:1)

这是答案。感谢John Coleman。

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)