Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javafx 块表达式实际上有什么好处?_Javafx - Fatal编程技术网

Javafx 块表达式实际上有什么好处?

Javafx 块表达式实际上有什么好处?,javafx,Javafx,为了好玩,我刚刚在JavaFX中解决了ProjectEuler的第一个问题,我想知道块表达式实际上有什么好处?为什么它们优于功能?是因为范围狭窄吗?少写?表演 这是欧拉的例子。我在这里用了一个街区,但我不知道它是否真的有意义 // sums up all number from low to high exclusive which are divisible by a or b function sumDivisibleBy(a: Integer, b: Integer, high: Inte

为了好玩,我刚刚在JavaFX中解决了ProjectEuler的第一个问题,我想知道块表达式实际上有什么好处?为什么它们优于功能?是因为范围狭窄吗?少写?表演

这是欧拉的例子。我在这里用了一个街区,但我不知道它是否真的有意义

// sums up all number from low to high exclusive which are divisible by a or b
function sumDivisibleBy(a: Integer, b: Integer, high: Integer) {
    def low = if (a <= b) a else b;

    def sum = {
        var result = 0; 

        for (i in [low .. <high] where i mod a == 0 or i mod b == 0) {
            result += i
        }

        result
    }
}
//将可被a或b整除的从低到高的所有数字相加
函数sumDivisibleBy(a:Integer,b:Integer,high:Integer){

def low=if(a嗯,不,不是真的,它看起来像是额外的复杂性,没有任何实际的好处。尝试删除sum变量和块,您将看到代码仍然可以正常工作


一般来说,当你想创建一个匿名作用域而不是将代码分解成一个函数时,块表达式是有用的,大多数时候你应该创建一个函数。

嗯,不,不是真的,它看起来很复杂,没有什么实际的好处。试着删除sum变量和块,你会发现代码我也一样

通常,当您希望创建匿名作用域而不是将代码分解为函数时,块表达式非常有用,大多数情况下,您应该创建函数