Scala :Returning a Function with variable argument from another function -
my requirement return function function in scala takes variable argument i.e while executing returned function , can pass multiple argument @ runtime.
my code looks :
object varargtest { def getfunction(): (map[string, string],map[string, any]*) => any={ (arg:map[string,string], arg2:map[string,any]*) => "random"//this gives compilation error } }
in code , want return function take , map[string,string] 1 argument ,while other map[string,any] should optional it.
but compilation error in return statement follow:
type mismatch; found : (map[string,string], map[string,any]) required: (map[string,string], map[string,any]*) ⇒
can , have missed here? note: requirement returned function can take either 1 argument (map[string,string])
or can take 2 arguments max (map[string,string], map[string,any])
thanks
it's impossible use varargs in anonymous function. can piece of code working making returned function nested instead of anonymous this:
object varargtest { def getfunction(): (map[string, string],map[string, any]*) => = { def nestedfunction(arg:map[string,string], arg2:map[string,any]*) = "random" nestedfunction } }
however since don't need multiple instances of map[string, any]
either none or one, better off using option[map[string, any]]
, providing none
when not needed.
Comments
Post a Comment