Je sais que je peux faire instanceOf
les contrôles contre Function1
o Function2
etc mais existe-t-il un moyen générique de voir si quelque chose est une fonction ou non (il peut y avoir un nombre arbitraire d'args). J'ai essayé de définir quelque chose comme ceci :
type FuncType = (Any*) -> Any
Mais cela n'a pas fonctionné non plus. En fait, j'ai un code qui ressemble à ceci :
call = (name: Any, args: Any*) -> if name.isFunction then name.castAs[Function].apply(args) else name
aFunction = (name: String) => "Hello " + name
notAFunction = "Hello rick"
call(aFunction, "rick")
call(notAFunction)