Pergunta

I'm having hard time trying to get nth element from the varargs sequnce in scala. Here's my code

def foo(args: String*) = args.toArray(1)

I receive error like:

error: type mismatch;
found   : Int(1)
required: scala.reflect.ClassTag[?]
     def foo(args: String*) = args.toArray(1)

What's interesting, code like this works great:

def foo(args: String*) = args.toArray.apply(1)

I'm pretty new to scala but I thought that it should be exactly the same. Is using apply right way to select nth element from vararg seq?

Foi útil?

Solução

You can call apply on the input argument directly:

def foo(args: String*) = args(1)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top