lib/nydp/builtin/ruby_wrap.rb in nydp-0.4.5 vs lib/nydp/builtin/ruby_wrap.rb in nydp-0.4.6

- old
+ new

@@ -13,20 +13,22 @@ when 0 ; "" when 1 ; ", a0" when 2 ; ", a0, a1" when 3 ; ", a0, a1, a2" when 4 ; ", a0, a1, a2, a3" - else ; raise "maximum 4 arguments!" + when 5 ; ", a0, a1, a2, a3, a4" + else ; raise "maximum 5 arguments!" end end def to_ruby generic_code = code. gsub(/a0/, "args.car"). gsub(/a1/, "args.cdr.car"). gsub(/a2/, "args.cdr.cdr.car"). - gsub(/a3/, "args.cdr.cdr.cdr.car") + gsub(/a3/, "args.cdr.cdr.cdr.car"). + gsub(/a4/, "args.cdr.cdr.cdr.cdr.car") <<CODE class #{name} include Nydp::Builtin::Base, Singleton#{helpers} def builtin_invoke_#{msize} vm#{ arg_mapper } @@ -61,9 +63,10 @@ def self.builder includes WrapperBuilder.new(includes) end core_builder = builder "" - core_builder.build(:Cons, 2, %{ Nydp::Pair.new(a0, a1) }) - core_builder.build(:Car , 1, %{ a0.car }) - core_builder.build(:Cdr , 1, %{ a0.cdr }) + core_builder.build(:Cons, 2, %{ Nydp::Pair.new(a0, a1) } ) + core_builder.build(:Car , 1, %{ a0.car } ) + core_builder.build(:Cdr , 1, %{ a0.cdr } ) + core_builder.build(:Log , 1, %{ r2n Nydp.logger.info(a0.to_s) } ) end