По какой причине был выбран текущий синтаксис `import foo.bar. {Baz => _}` для исключения чего-либо из импорта? - PullRequest
3 голосов
/ 24 мая 2010

Интересно, есть ли веская причина для этого оптического несоответствия между e. г. сопоставление с образцом, в котором используется простой

case foo =>

означает, что никаких действий предпринимать не должно.

Разве не разумно иметь что-то вроде

import foo.bar.{Baz => }

вместо

import foo.bar.{Baz => _}

учитывая, что _ используется как "импортировать все" в том же выражении?

1 Ответ

4 голосов
/ 24 мая 2010

Я бы предположил, что это для симметрии с переименованным импортом:

import java.util.{Collection => JCollection, _}

Если мы хотим импортировать в недоступный идентификатор:

import java.util.{Collection => _          , _}

(я знаю, _ является действительным идентификатором, но с правой стороны от => вы должны думать о нем как о черной дыре, из которой входящий идентификатор не может выйти.)

...