来自JRuby的Java方法内省
发布时间:2020-12-17 01:44:21 所属栏目:百科 来源:网络整理
导读:有没有办法从J Ruby内省Java对象并找出它的Java-land方法?像 http://github.com/oggy/looksee提供的那样,但对于Java.或者喜欢 (someobject).methods - 1.methods 这对于仅仅查看Java对象提供的内容而不是APIDoc来说是很好的. 解决方法 Looksee修补了解释器,
有没有办法从J
Ruby内省Java对象并找出它的Java-land方法?像
http://github.com/oggy/looksee提供的那样,但对于Java.或者喜欢
(someobject).methods - 1.methods 这对于仅仅查看Java对象提供的内容而不是APIDoc来说是很好的. 解决方法
Looksee修补了解释器,这就是为什么它只适用于MRI和YARV,而不适用于JRuby,XRuby,IronRuby,Ruby.NET,Rubinius,tinyrb,RubyGoLightly,MacRuby,HotRuby,BlueRuby,Cardinal,MagLev,SmallRuby,Red Sun和所有其他实现.
所以,如果你愿意修补HotSpot,我相信你可以掀起一个类似Java的东西:-) 至于你的基本内省,它只是工作?: require 'java' java.lang.String.public_instance_methods.sort.reject {|m| m =~ /[_?!=~<>]/ } # => [:bytes,:charAt,:class,:clone,:codePointAt,:codePointBefore,# => :codePointCount,:com,:compareTo,:compareToIgnoreCase,:concat,# => :contains,:contentEquals,:display,:dup,:empty,:endsWith,:equals,# => :equalsIgnoreCase,:extend,:finalize,:freeze,:getBytes,:getChars,# => :getClass,:hash,:hashCode,:id,:indexOf,:initialize,:inspect,:intern,# => :isEmpty,:java,:javax,:lastIndexOf,:length,:matches,:method,# => :methods,:notify,:notifyAll,:offsetByCodePoints,:org,:regionMatches,# => :replace,:replaceAll,:replaceFirst,:send,:split,:startsWith,# => :subSequence,:substring,:synchronized,:taint,:tap,:toCharArray,# => :toLowerCase,:toString,:toUpperCase,:trim,:trust,:type,:untaint,# => :untrust,:wait] 当然,JRuby的一个要点是尽可能地集成Java和Ruby对象模型,所以我们实际上在这里获得了Java和Ruby方法,但是拒绝所有带有不寻常或非常非法字符的方法. Java,我们得到一个相当干净的列表,剩下的Ruby方法并不难发现. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |