Xavier John
Xavier John

Reputation: 9447

Scala How to pass an array of array and boolean as a parameter?

How to pass an array of (array and boolean) as a parameter?

Example:

val conditionalGroupBy = Array(
    Array(Array("segment","BU","SBU"), true),
    Array(Array("segment","BU"), false),
    Array(Array("segment"),false)
    )

Using def myFunc(myparam:Array[Any]) works but then I have to cast since I pass Any, like

    val groupByItems = myparam(0).asInstanceOf[Array[String]]
    val shouldGroupBy= myparam(1).asInstanceOf[Boolean]

Is there something more specific like Array[(Array[String],Boolean)]?

Upvotes: 0

Views: 80

Answers (1)

Mon Calamari
Mon Calamari

Reputation: 4463

As Luis suggested, you can slightly change types and end up with:

def myFunc(myparam: Array[(Array[String],Boolean)])

Personally, I would go for case classes:

case class MyClass(array: Array[String], flag: Boolean)

def myFunc(myparam: Array[MyClass])

Upvotes: 1

Related Questions