В следующем определении парсера
def rep[T](p: => Parser[T]): Parser[List[T]]
Я вижу, что аргумент является функцией.После p: нет типа, так что это за тип?
p:
Спасибо
Basu
p на самом деле не функция.Беспрецедентный => в описании типа означает, что аргумент передается по имени.По сути, он не оценивается, пока не будет использован в методе, и он оценивается каждый раз, когда используется в методе.Пожалуйста, смотрите мой ответ здесь для получения дополнительной информации.
p
=>
Кто-то поправит меня, если я здесь не прав, но я считаю, что с помощью параметров по имени тип является типом возвращаемого значения, в данном случае Parser [T]
В основном то, что вы видите (тип возврата), это то, что вы передаете ему