Как написать эти три -вкладыша как один -вкладыш?

Мне нравится способ, вы можете написать один -liner -метод в Scala, например. с List(1, 2, 3).foreach(..).map(..).

Но есть определенная ситуация, которая иногда возникает при написании кода на Scala, когда все становится немного некрасиво. Пример:

def foo(a: A): Int = {
  // do something with 'a' which results in an integer
  // e.g. 'val result = a.calculateImportantThings

  // clean up object 'a'
  // e.g. 'a.cleanUp'

  // Return the result of the previous calculation
  return result
}

В этой ситуации мы должны вернуть результат, но не можем вернуть его сразу после завершения вычисления, потому что перед возвратом нам нужно выполнить некоторую очистку.

Мне всегда приходится писать три строчки -. Есть ли также возможность написать один вкладыш -для этого (без изменения класса A, потому что это может быть внешняя библиотека, которую нельзя изменить )?

8
задан John Threepwood 9 July 2012 в 08:53
поделиться