Trong Scala 2.9.1 tôi nhận được các hành vi sau đây:Scala: thứ tự định nghĩa cho đối tượng đồng hành vs trường hợp lớp
class Foo {
case class X()
object X // this compiles
def bar() {
object Y // this compiles
case class Y()
case class Z()
object Z // won't compile (see below)
}
}
Trình biên dịch phàn nàn cho Object Z
: lỗi: Z đã được định nghĩa là (trình biên dịch tạo) đối tượng đồng hành lớp case Z
Có vẻ như không được phép xác định đối tượng đồng hành cho một lớp chữ hoa sau định nghĩa lớp vỏ nếu chúng nằm trong định nghĩa hàm. Đây có phải là lỗi trình biên dịch hay cố ý không? Nếu sau này, tại sao?
Thật dễ dàng để làm việc xung quanh, vì vậy tôi không chắc chắn rằng nó có giá trị bỏ phiếu lên. Cảm ơn bạn đã liên kết đến vé. –