Scala's upcoming dynamic capabilities
squirrelsewer.blogspot.com
squirrelsewer.blogspot.com
I managed to do a quick and dirty 5 minute mockup of a "Callable" Map that lets you invoke keys as method names:
https://gist.github.com/783394
what to call it?
http://groups.google.com/group/scala-language/browse_thread/...
def invokeDynamic(name: String)(args: Any*) = {
println("Invoke Dynamic: (name = %s)(args: %s)".format(name, args))
get(name.asInstanceOf[String])
}
Why do you need the asInstanceOf(), when name is already declared to be a String?Sorry if this is obvious; I don't know Scala (I've glanced at it, but the 2.8 compiler is too slow on my laptop--as in, about one line per minute).
Your assumption is correct: It is already a string and there is no purpose to casting it to a String.
I don't recall exactly where that artifact came from but I recall the original release of Dynamic had a very different method signature and I was fiddling to figure out the new signatures when I wrote this. The examples I found when I wrote this used the old interface and the new one had no docs or examples yet so I did a bit of playing.
I've updated the gist to remove the unnecessary asInstanceOf and demonstrate it as proper code.
Is this implemented as a library or does it also require changes to the language/compiler?