module RbScheme::Helpers
Public Instance Methods
acons(key, val, cdr)
click to toggle source
# File lib/rb-scheme/helpers.rb, line 8 def acons(key, val, cdr) cons(cons(key, val), cdr) end
boolean(value)
click to toggle source
# File lib/rb-scheme/helpers.rb, line 24 def boolean(value) value ? LTrue.instance : LFalse.instance end
check_length!(lst, n, name)
click to toggle source
# File lib/rb-scheme/helpers.rb, line 28 def check_length!(lst, n, name) c = lst.count unless c == n raise ArgumentError, "#{name}: wrong number of arguments(given #{c}, expected #{n})" end end
check_min_length!(lst, min, name)
click to toggle source
# File lib/rb-scheme/helpers.rb, line 35 def check_min_length!(lst, min, name) c = lst.count unless c >= min raise ArgumentError, "#{name}: wrong number of arguments(given #{c}, expected #{min}..)" end end
cons(car, cdr)
click to toggle source
Constructor
# File lib/rb-scheme/helpers.rb, line 4 def cons(car, cdr) LCell.new(car, cdr) end
convert_to_list(array)
click to toggle source
# File lib/rb-scheme/helpers.rb, line 16 def convert_to_list(array) result = list array.reverse_each do |e| result = cons(e, result) end result end
list(*args)
click to toggle source
# File lib/rb-scheme/helpers.rb, line 12 def list(*args) args.any? ? convert_to_list(args) : LCell.new end