Visar inlägg med etikett java integration. Visa alla inlägg
Visar inlägg med etikett java integration. Visa alla inlägg
fredag, oktober 06, 2006
JRuby import
OK, for those of you who thought that importing a class into the current namespace by assigning a constant, here is a small implementation (based on include_class), that lets you use import like you do it in Java:
require 'java'
class Object
def import(name)
unless String === name
name = name.java_class.inspect
end
class_name = name.match(/((.*)\.)?([^\.]*)/)[3]
clazz = self.kind_of?(Module) ? self : self.class
unless clazz.const_defined?(class_name)
if (respond_to?(:class_eval, true))
class_eval("#{class_name} = #{name}")
else
eval("#{class_name} = #{name}")
end
end
end
end
import java.util.TreeMap
x = TreeMap.new
x['foo'] = 'bar'
puts x
Prenumerera på:
Kommentarer (Atom)