takeWhile

trait Collection[A] {
  def takeWhile(p: (A) => Boolean): Collection[A]
}

takeWhile crea una colección manteniendo el prefijo de mayor longitud de elementos que satisfacen el predicado p, descartando el resto.