Sha256: 63167bdf173ac50d1b37ca0a2410b7ee767f31da34ad86ef3cdf86c1ae05e7ee
Contents?: true
Size: 564 Bytes
Versions: 300
Compression:
Stored size: 564 Bytes
Contents
import scala.annotation.tailrec object Strain { def keep[A](seq: Seq[A], func: A => Boolean): Seq[A] = recurse(seq, func, List()).reverse def discard[A](seq: Seq[A], func: A => Boolean): Seq[A] = { val notFunc: A => Boolean = a => !func(a) recurse(seq, notFunc, List()).reverse } @tailrec private def recurse[A](seq: Seq[A], func: A => Boolean, acc: Seq[A]): Seq[A] = seq match { case Nil => acc case x::xs => if (func(x)) recurse(xs, func, x +: acc) else recurse(xs, func, acc) } }
Version data entries
300 entries across 300 versions & 1 rubygems