- About Scala
- Documentation
- Code Examples
- Software
- Scala Developers
apply & named arguments
Tue, 2010-07-20, 20:32
for a function I can call apply like so:
def f(x:String, y:String) = println(x + y)
val myf = f _
myf.apply("my arg", " another")
is there a way to call apply with named arguments? eg.
myf.apply(x="inX",y="inY")
or
myf.apply("x"->"inX","y"->"inY")
these obviously don't work.
thanks,
_M!ke
Tue, 2010-07-20, 21:07
#2
Re: apply & named arguments
Thanks for the comments, guys, that helps.
_M!ke
On Jul 20, 2010, at 3:49 PM, Jason Zaugg wrote:
> The parameter names of FunctionN#apply are alway `v1`, .. `vn`.
>
> So the following is purely a co-incidence.
>
> scala> val f = (v1: String, v2: String) => v1 + v2
> f: (String, String) => java.lang.String =
>
> scala> f(v2 = "2", v1 = "1")
> res1: java.lang.String = 12
>
> -jason
>
> On Tue, Jul 20, 2010 at 9:32 PM, Michael Fortin wrote:
>> for a function I can call apply like so:
>> def f(x:String, y:String) = println(x + y)
>> val myf = f _
>> myf.apply("my arg", " another")
>>
>> is there a way to call apply with named arguments? eg.
>> myf.apply(x="inX",y="inY")
>> or
>> myf.apply("x"->"inX","y"->"inY")
>>
>> these obviously don't work.
>>
>> thanks,
>> _M!ke
>>
>>
The parameter names of FunctionN#apply are alway `v1`, .. `vn`.
So the following is purely a co-incidence.
scala> val f = (v1: String, v2: String) => v1 + v2
f: (String, String) => java.lang.String =
scala> f(v2 = "2", v1 = "1")
res1: java.lang.String = 12
-jason
On Tue, Jul 20, 2010 at 9:32 PM, Michael Fortin wrote:
> for a function I can call apply like so:
> def f(x:String, y:String) = println(x + y)
> val myf = f _
> myf.apply("my arg", " another")
>
> is there a way to call apply with named arguments? eg.
> myf.apply(x="inX",y="inY")
> or
> myf.apply("x"->"inX","y"->"inY")
>
> these obviously don't work.
>
> thanks,
> _M!ke
>
>