Tôi nghĩ điều này dễ thấy hơn với ví dụ.scala: ngăn không cho đối tượng Đồng hành ẩn định nghĩa của Lớp gốc
Hãy nói rằng tôi có một lớp trường hợp Điều kiện, với một đối tượng Điều kiện đồng hành dùng để cung cấp một constructor thay thế, như thế này: cảnh báo
case class Condition(
field: String,
values: List[String])
}
object Condition {
def apply(field: String, value: String): Condition = {
Condition(field, List(value))
}
}
Khi tôi nhập nó từ khác tôi nhận được như sau (mà cuối cùng biến vào một lỗi):
import utils.query.Condition
[warn] [...]/ConditionBuilder.scala:14: imported `Condition' is permanently hidden by definition of object Condition in package query
[warn] import utils.query.Condition
[warn] ^
[warn] one warning found
tôi muốn được tiếp cận với Type Điều kiện, khi declargin kiểu của một biến, và để các đối tượng đồng hành, khi thực hiện một trong những phương pháp đó là
Có cách nào để đạt được điều này và tránh cảnh báo này (ngoài việc đổi tên đối tượng đồng hành, tất nhiên)?
Bạn đang sử dụng phiên bản trình biên dịch Scala nào? –
Tôi có thể hỏi nếu Điều kiện được xác định trong truy vấn gói bởi bất kỳ cơ hội nào không? Trong trường hợp này, chỉ cần thả nhập và bạn đã hoàn tất. –
Tôi đang sử dụng trình biên dịch scala đi kèm với gói chơi 2.0.3: Chào mừng bạn đến với phiên bản Scala 2.9.1.final (Java HotSpot (TM) Máy chủ 64-bit máy chủ, Java 1.7.0_06). – opensas