scala> val alist = List(1,2,3,4,5)
alist: List[Int] = List(1, 2, 3, 4, 5)
scala> alist filter { 2.< }
res2: List[Int] = List(3, 4, 5)
scala> alist filter { 2 < }
res3: List[Int] = List(3, 4, 5)
scala> alist filter { > 3 }
<console>:1: error: ';' expected but integer literal found.
alist filter { > 3 }
Почему бы { 2.< }
и {2 <}
работать? Думаю, по крайней мере, я должен написать { 2 < _ }
правильно?Оставить подчеркивание в функции буквально?
метод, который не требует никаких аргументов, вы можете альтернативно бросить точку и использовать пост фи х оператор обозначение:
scala> val s = "Hello, world!"
s: java.lang.String = Hello, world!
scala> s toLowerCase
res4: java.lang.String = hello, world!
Но здесь, <
метод не те виды методов, которые не требуют никаких аргументов в порядке?
Можете ли вы указать мне, что это за использование?
Возможный дубликат [Краткая нотация для одиночной анонимной функции arg (избегая подчеркивания) не работает должным образом] (http://stackoverflow.com/questions/6593277/concise-notation-for-single-arg-anonymous-function- avoiding-underscore-not-wor) –
Я не думаю, что это дубликат. Связанный вопрос связан с различными вариантами синтаксиса для функций, который обращается в другую сторону, приводя к данной синтаксической ошибке. – Frank