Advertisement
Guest User

Untitled

a guest
Mar 26th, 2015
234
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 0.42 KB | None | 0 0
  1. def select(l : List[T], pred : T => Boolean): Option[(T, List[T])] = {
  2.         type Discarded = List[T]
  3.         type Remainings = List[T]
  4.         def aux : (Discarded, Remainings) => Option[(T, List[T])] = {
  5.                case (_, List()) => None
  6.                case (ds, c :: tl) =>
  7.                          if(pred(c)) Some((c, ds ::: tl ))
  8.                          else aux(c :: ds, tl)
  9.         }
  10.         aux(List(), l)
  11. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement