Tôi cần đối tượng (hoặc "đối tượng đơn lẻ" hoặc "đối tượng đồng hành" ... bất kỳ thứ gì ngoài lớp) được xác định bằng tên chuỗi. Nói cách khác, nếu tôi có:Lấy cá thể đối tượng bằng tên chuỗi trong scala
package myPackage
object myObject
... sau đó là có bất cứ điều gì như thế này:
GetSingletonObjectByName("myPackage.myObject") match {
case instance: myPackage.myObject => "instance is what I wanted"
}
bò Thánh này. Bạn có biết cú pháp này là một phần cố định của thông số kỹ thuật Scala hay không (dù đã được sửa như bất kỳ thứ gì khác trong ngôn ngữ)? Nó có vẻ như một ý tưởng tồi để dựa vào điều này. Và vì mục tiêu của tôi là làm cho mã * rõ ràng hơn * ... Cảm ơn bạn! – Dave
Như ông đã đề cập, không có API phản chiếu trong Scala, vì vậy cho dù điều này được bao phủ bởi các spec Scala hay không, đây là cách duy nhất để bạn làm điều đó. Tôi nhận thấy câu hỏi/câu trả lời này đã hơn một tuổi, có bất kỳ tin tức nào ở đây không? – pdinklag