Я пытаюсь понять пользовательский Iterator в Scala, написанный другим программистом. У меня возникли проблемы с пониманием деклараций функций. Они кажутся мне анонимными функциями, но я просто не могу полностью окутать их в них.Scala: понимание синтаксиса анонимных функций
Я читал об анонимных функциях в Scala, и нашел этот ресурс [http://www.scala-lang.org/old/node/133] полезным, но я до сих пор не могу прочитать приведенные выше функции и полностью понять их.
Вот код:
class MyCustomIterator(somePath: Path, someInt: Int, aMaxNumber: Int) {
def customFilter:(Path) => Boolean = (p) => true
// Path is from java.nio.files.Path
def doSomethingWithPath:(Path) => Path = (p) => p
}
Я хотел бы понять это понимать эти функции. Каков тип возврата на самом деле? Что является телом функции?
.
удалось добавить, больше обычного, чтобы увидеть определение функции customFilter: Path => Boolean = _ => true' и определение функции doSomethingWithPath: Path => Path = identity'. Легче ли читать? –
Джастин, мне нравятся ваши объяснения. Однако позвольте мне полностью понять мое мнение: «Элемент слева от стрелки - это параметры функции». - Это «Boolean = (p) => true». Если это так, как мы интерпретируем это синтаксис. – user3825558
@ som-snytt, что легче читать. Путь - это тип возвращаемого значения, и эта вещь «Boolean = _ => true» является возвращаемым типом? Что такое символ подчеркивания? Я чувствую себя как заполнитель. И что вы имели в виду: Path = identity Я не могу получить часть Identity. – user3825558