Groovy映射作为JRuby中的接口方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Groovy映射作为JRuby中的接口方法相关的知识,希望对你有一定的参考价值。
Groovy has the as keyword which enables the implementation of a Java interface by using the as keyword, its quite easy to mimic this in JRuby.
module InvokableHash def as(java_ifc) # Each method will create a key in the hash which points to a block # which is called java_ifc.impl {|name, *args| self[name].call(*args)} end end class Hash include InvokableHash end impl = { :i => 10, :hasNext => proc { impl[:i] > 0 }, :next => proc { impl[:i] -= 1 } } iter = impl.as java.util.Iterator while (iter.hasNext) puts iter.next end
以上是关于Groovy映射作为JRuby中的接口方法的主要内容,如果未能解决你的问题,请参考以下文章
Groovy闭包 Closure ( 闭包调用 与 call 方法关联 | 接口中定义 call() 方法 | 类中定义 call() 方法 | 代码示例 )
Groovy闭包 Closure ( 闭包调用 与 call 方法关联 | 接口中定义 call() 方法 | 类中定义 call() 方法 | 代码示例 )
Groovy集合遍历 ( 使用集合的 find 方法查找集合元素 | 闭包中使用 == 作为查找匹配条件 | 闭包中使用 is 作为查找匹配条件 | 闭包使用 true 作为条件 | 代码示例 )
Groovy集合遍历 ( 使用集合的 find 方法查找集合元素 | 闭包中使用 == 作为查找匹配条件 | 闭包中使用 is 作为查找匹配条件 | 闭包使用 true 作为条件 | 代码示例 )(代