Scala: How do I dynamically instantiate an object and invoke a method using reflection?
にstructural typingを使ったサンプルが載ってたのでメモ
- class Foo {
- def hello(name: String): String = "Hello there, %s".format(name)
- }
-
- object FooMain {
-
- def main(args: Array[String]) {
- val foo = Class.forName("Foo").newInstance.asInstanceOf[{ def hello(name: String): String }]
- println(foo.hello("Walter"))
- }
- }
class Foo {
def hello(name: String): String = "Hello there, %s".format(name)
}
object FooMain {
def main(args: Array[String]) {
val foo = Class.forName("Foo").newInstance.asInstanceOf[{ def hello(name: String): String }]
println(foo.hello("Walter")) // prints "Hello there, Walter"
}
}
No comments:
Post a Comment