2009-03-26 23 views
37

Tôi đang sử dụng IntelliJ IDEA với plugin Scala. Nếu tôi tham khảo HashMap trong mã, và sau đó sử dụng Alt-Enter để thêm việc nhập khẩu, gói được nhập khẩu như:Gói _root_ trong Scala là gì?

_root_.scala.collection.immutable.HashMap 

các gốc phần của điều này là gì? Nó dường như làm việc với và không có nó.

Trả lời

40

Nó phải thực hiện nhập khẩu scala là tương đối - _root_ cung cấp cho bạn một cách để chỉ định tên gói tuyệt đối. Xem Scala Wiki

5

Bạn chỉ cần nó nếu bên trong gói hiện tại của bạn, bạn có gói lồng nhau scala.collection.immutable có chứa HashMap. Điều này sẽ được ưa thích bởi một nhập khẩu tương đối không có phần _root_.

Chỉnh sửa: Điều đó không đúng, các sự cố đã bắt đầu nếu bạn có gói scala hoặc là tổ tiên hoặc được lồng trong gói hiện tại.

5

Đặc tả ngôn ngữ Scala có này để nói về _root_ trong phần 9.4 Gói Tài liệu tham khảo

Các fi prede đặc biệt ned tên _root_ đề cập đến gói gốc ngoài cùng mà chứa tất cả các gói cấp cao nhất.

Xem định dạng PDF sau để tham khảo đầy đủ ngôn ngữ: http://www.scala-lang.org/docu/files/ScalaReference.pdf