Method: Rupture::Sequence#take_while

Defined in:
lib/rupture/sequence.rb

#take_while(p = nil, &pred) ⇒ Object



105
106
107
108
109
110
111
112
113
# File 'lib/rupture/sequence.rb', line 105

def take_while(p = nil, &pred)
  pred ||= p
  F.lazy_seq do
    if s = seq
      i = s.first
      F.cons(i, s.rest.take_while(pred)) if pred[i]
    end
  end
end