我在使用JRuby 1.6.0.RC1。我想通過提供一個實現Ruby each
方法的外觀,更加通俗地從Ruby使用某些Java庫上的java.util.Iterators
。從Java迭代器創建慣用Ruby迭代器的好模式外觀模式是什麼?
我第一次嘗試基本上是這樣的:
def each_property(myJavaObj)
i = myJavaObj.myIterator
while i.hasNext
yield i.next
end
end
然而,當我打電話each_property {|p| puts "#{p}"}
我得到的錯誤:LocalJumpError: yield called out of block
。
任何人都可以提示我做錯了什麼,或指出一個更好的模式從Ruby調用Java迭代器?
謝謝Koraktor,它讓我的代碼運行。雖然 – 2011-01-31 15:24:13