Có, final val
là cú pháp thích hợp, với Daniel's caveats. Tuy nhiên, trong phong cách Scala thích hợp, các hằng số của bạn phải là camelCase với một chữ cái đầu tiên.
Bắt đầu bằng chữ hoa là điều quan trọng nếu bạn muốn sử dụng hằng số của mình trong kết hợp mẫu. Chữ cái đầu tiên là cách trình biên dịch Scala phân biệt giữa các mẫu liên tục và các mẫu biến. Xem Phần 15.2 của Programming in Scala.
Nếu một val
hoặc singleton đối tượng không bắt đầu bằng một chữ cái viết hoa, để sử dụng nó như là một mô hình phù hợp với bạn phải đặt nó bên trong backticks (``
)
x match {
case Something => // tries to match against a value named Something
case `other` => // tries to match against a value named other
case other => // binds match value to a variable named other
}
Bạn quên hai điểm quan trọng: nó phải là tĩnh giải quyết tại thời gian biên dịch - Tôi không chắc chắn Scala làm số học chữ tại thời gian biên dịch - và, rất dễ dàng để có được sai, _it không phải có một type_. Nếu bạn khai báo nó 'final val myConst: Int = 5', nó sẽ không được coi là hằng số. –
Bạn có một tài liệu tham khảo liên quan đến _it không phải có một type_? –