Javafx 块表达式实际上有什么好处?
为了好玩,我刚刚在JavaFX中解决了ProjectEuler的第一个问题,我想知道块表达式实际上有什么好处?为什么它们优于功能?是因为范围狭窄吗?少写?表演 这是欧拉的例子。我在这里用了一个街区,但我不知道它是否真的有意义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
// 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变量和块,你会发现代码我也一样
通常,当您希望创建匿名作用域而不是将代码分解为函数时,块表达式非常有用,大多数情况下,您应该创建函数