Я только что решил первую проблему из Project Euler в JavaFX и подумал, для чего на самом деле хороши выражения блоков? Почему они превосходят функции? Это из-за суженной области? Меньше писать? Производительность
Вот пример Эйлера. Я использовал блок здесь, но я не знаю, имеет ли он смысл
// 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
}
}
Имеет ли здесь смысл блок?