История изменений
Исправление vbr, (текущая версия) :
Они, конечно, придумали максимально нечитаемый синтаксис. В гипотетической Java это выглядело бы как-то так:
currentBalance +=
switch (transaction) {
case TransactionType.Deposit(amount) -> amount;
case TransactionType.Withdrawal(amount) => -amount;
default -> 0.0;
};
Тут по крайней мере понятно, что именно сопоставляется шаблонам. А в исходном примере я думал, что сопоставляется результат выражения (currentBalance += transaction).
Исправление vbr, :
Они, конечно, придумали максимально нечитаемый синтаксис. В гипотетической Java это выглядело бы как-то так:
currentBalance +=
switch (transaction) {
case TransactionType.Deposit(amount) -> amount;
case TransactionType.Withdrawal(amount) => -amount;
default -> 0.0;
};
Тут по крайней мере понятно, что именно паттерн-матчится.
Исходная версия vbr, :
Они, конечно, придумали максимально нечитаемый синтаксис.