Class: Lisp::PrimNativeObject

Inherits:
Object
  • Object
show all
Defined in:
lib/rubylisp/prim_native_object.rb

Class Method Summary collapse

Class Method Details

.registerObject



5
6
7
# File 'lib/rubylisp/prim_native_object.rb', line 5

def self.register
  Primitive.register("wrap-object", "1")  {|args, env| Lisp::NativeObject::wrap_impl(args, env) }
end

.wrap_impl(args, env) ⇒ Object



9
10
11
12
13
14
15
16
17
# File 'lib/rubylisp/prim_native_object.rb', line 9

def self.wrap_impl(args, env)
  raw_val = args.car.evaluate(env)
  val = if raw_val.list?
          raw_val.to_a
        else
          raw_val
        end
  NativeObject.with_value(val)
end