Scala - импорт внутреннего класса - PullRequest
0 голосов
/ 27 марта 2012

В Scala IDE у меня есть следующий код:

package pkg.one

object S {
  class A
}

class S {
  import pkg.one.S.A //all ok
}

и

package pkg.two

class Z(a: A)     //error

Как я могу импортировать класс A, чтобы я мог использовать его в классе Z? Scala IDE предлагает два решения: import pkg.one.S$.A и import pkg.one.S.A, первое из них просто само по себе является ошибкой, а второе не работает, поскольку говорит, что не может найти этот класс. Я знаю, что существует также импорт import pkg.one.S#A, но в среде IDE знак «#» считается ошибкой. Я не смог понять, как решить эту проблему, читая общедоступную информацию об импорте внутренних классов Scala, поскольку в соответствии с ними мое дело кажется законным.

Ответы [ 2 ]

1 голос
/ 03 апреля 2012

Кстати, для меня это прекрасно работает с Scala IDE 2.0.0 для Scala 2.9.x (update-site: http://download.scala -ide.org / release-29 / stable / site ).

Добавление import pkg.one.S.A как раз перед тем, как объявление класса Z сработает для меня. Какую версию ты используешь? (может быть, лучше обсудить это с scala-ide-user ML )

1 голос
/ 27 марта 2012

Используя скалак (через SBT), рабочий раствор - import pkg.one.S.A. В настоящее время плагин Scala-Ide eclipse видит иногда мнимые ошибки ... Я стараюсь избегать IDE, и когда я их использую (для огромных проектов с большим количеством Java), я все равно делаю все компиляции в терминале с SBT.

...