Sha256: b0717918bee201bd781e3c19e98972a1c2501742be19cee6360c454a253c6369
Contents?: true
Size: 777 Bytes
Versions: 1
Compression:
Stored size: 777 Bytes
Contents
module Rupture class Seq < Enumerable::Enumerator include Sequence def initialize super(self) end def each s = self while s = s.seq yield s.first s = s.rest end end def [](index) nth(index) end def to_ary to_a end def ==(other) s = self.seq o = other.seq while s && o return false if s.first != o.first s = s.next o = o.next end s.nil? and o.nil? end def self.empty @empty ||= EmptySeq.new end end class EmptySeq < Seq def seq nil end end end class NilClass include Rupture::Sequence def seq nil end def first nil end def rest Rupture::Seq.empty end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rupture-0.1.0 | lib/rupture/seq.rb |