diff options
Diffstat (limited to 'ruby/core.rb')
| -rw-r--r-- | ruby/core.rb | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/ruby/core.rb b/ruby/core.rb index 268ebad..824b59b 100644 --- a/ruby/core.rb +++ b/ruby/core.rb @@ -14,6 +14,11 @@ $core_ns = { :/ => lambda {|a,b| a / b}, :list => lambda {|*a| List.new a}, :list? => lambda {|*a| a[0].is_a? List}, + :cons => lambda {|a,b| List.new(b.clone.insert(0,a))}, + :concat => lambda {|*a| List.new(a && a.reduce(:concat) || [])}, + :nth => lambda {|a,b| a[b]}, + :first => lambda {|a| a[0]}, + :rest => lambda {|a| List.new(a.size > 0 && a.drop(1) || [])}, :empty? => lambda {|a| a.size == 0}, :count => lambda {|a| a.size}, } |
