Оператор подстановки _
интенсивно используется в Scala.Итак:
xs map (_.x) // Call the x method of every element
xs map (_x) // Pass every element through the _x method
сбивает с толку.Вы должны посмотреть очень внимательно, чтобы увидеть, стоит ли ставить подчеркивание.
Однако, внутренние подчеркивания сложнее спутать:
xs map (my_method) // No similar form where _ stands for the list element
Так что это менее проблематично, но подчеркивание все же немного привлекает внимание, когда кто-то ищет замыкания.Вероятно, поэтому они не одобряются, но, честно говоря, я использую их все время, особенно в таких вещах, как неявные определения и внутренние переменные, где они не будут иметь большого или какого-либо воздействия на интерфейс.