2016-11-08 10 views
0

Рассмотрим этот код в Scala (SBT):Как пропустить элементы последовательного в Scala?

abstract class Farm 
case class Pig (length:Int, height:Int) extends Farm 
val barn1 = Sequential (List (Pig (50 , 30), Pig (55 , 32))) 

Теперь я хочу, чтобы определить функцию петли через barn1:

def playSequential (?1):Unit = { 
    ?2 
} 

Что я должен добавить вместо ??

  • ?1: Какой тип входа (см k:Int мне нужно
  • ?2:? Как определить цикл, который перебирает barn1

ответ

2

Может быть, вы хотите что-то вроде этого

abstract class Farm 
case class Pig (length:Int, height:Int) extends Farm 
val barn1 = List(Pig (50 , 30), Pig (55 , 32)) 

def playSequential(barn: List[Farm]):Unit = { 
    barn.foreach{ 
    case Pig(l,h) => // do something with length (l) and height (h) of this Pig 
    case Cow(l,h) => // do something with length (l) and height (h) of this Cow 
    case _ =>   // unknown element, report error 
    } 
} 

Не знаю, что Sequential (это не стандартная Scala), поэтому я удалил его.