RubyEnumerator implements java.util.Iterator #4054
Merged
+221
−41
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
feels like a good fit and this makes enumerator usable with Java 8 (with some boilerplate) :
java.util.Spliterators.spliterator(enum.to_java, enum.size || -1, charactestistics)
... ideally some more integration would be handy but JRuby would need compiling under Java 8 for easy :
[1, 2, 3, 4, 5].each.to_java.stream
orEnumerator.new { ... }.to_java.spliterator
implementations.esp. since the Enumeration's size and the spliterator characteristic are depend on internals. so this would like get revisited after a potential compilation switch in another release.
Ruby enumerator (and thus Ruby array) usability with 8 streaming is confirmed with test-cases.