标准 ML 多条件语句

Standard ML multiple condition statement

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

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

答案在这里。感谢约翰·科尔曼。

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)