我正在寻找一种将作为字符串给出的 Scala 单例对象(例如:package1.Main)转换为 Main 的实际实例的方法,以便我可以在其上调用方法。
问题示例:
package x {
object Main extends App {
val objectPath: String = io.StdIn.readLine("Give an object: ") // user enters: x.B
// how to convert the objectPath (String) to a variable that references singleton B?
val b1: A = magicallyConvert1(objectPath)
b1.hi()
val b2: B.type = magicallyConvert2(objectPath)
b2.extra()
}
trait A {
def hi() = {}
}
object B extends A {
def extra() = {}
}
}
magiclyConvert1 和magicallyConvert2 函数如何实现?