вызов анонимной функции с подчеркиванием - PullRequest
0 голосов
/ 17 декабря 2018

Я практикую трюки с _ обозначениями в anonymous functions в scala.

У меня есть этот код (начало не относится к нашему случаю):

.map(some_data => SomeObj.do_some(some_data.some_field))

И мне интересно, могу ли я использовать здесь обозначение подчеркивания _,

сделать что-то вроде:

.map(SomeObj.do_some(_.some_field)) # it doesn't work..

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

Вы можете использовать только один раз (anonymous-function) для частичной функции.Но когда они вызываются рекурсивно, неясно, где разместить _.Следовательно вы получаете ошибку.

0 голосов
/ 17 декабря 2018

Ваш попытанный синтаксис будет эквивалентен .map(SomeObj.do_some(some_data => some_data.some_field)).Scala не знает, куда «вставить» параметр, где обернуть выражение в функцию: он всегда делает это на самом внутреннем уровне.

...