module Abstractivator::Cons
Constants
- Nil
Public Instance Methods
cons(h, t)
click to toggle source
# File lib/abstractivator/cons.rb, line 10 def cons(h, t) Cell.new(h, t) end
empty_list()
click to toggle source
# File lib/abstractivator/cons.rb, line 6 def empty_list Nil end
enum_to_list(enum)
click to toggle source
# File lib/abstractivator/cons.rb, line 31 def enum_to_list(enum) e = enum.reverse.each result = Nil begin while true result = cons(e.next, result) end rescue StopIteration result end end
head(p)
click to toggle source
# File lib/abstractivator/cons.rb, line 14 def head(p) p.first end
list_to_enum(list)
click to toggle source
# File lib/abstractivator/cons.rb, line 22 def list_to_enum(list) Enumerator.new do |y| while list != Nil y << head(list) list = tail(list) end end end
tail(p)
click to toggle source
# File lib/abstractivator/cons.rb, line 18 def tail(p) p.last end