Вопрос

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?

Это было полезно?

Решение

You can call apply on the input argument directly:

def foo(args: String*) = args(1)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top