[#60404] is RB_GC_GUARD needed in rb_io_syswrite? — Eric Wong <normalperson@...>
I haven't gotten it to crash as-is, but it seems like we need to
4 messages
2014/02/01
[#60682] volatile usages — Eric Wong <normalperson@...>
Hi all, I went ahead and removed some use of volatile which were once
5 messages
2014/02/13
[#60794] [RFC] rearrange+pack vtm and time_object structs — Eric Wong <normalperson@...>
Extracted from addendum on top of Feature #9362 (cache-aligned objects).
4 messages
2014/02/16
[#61139] [ruby-trunk - Feature #9577] [Open] [PATCH] benchmark/driver.rb: align columns in text output — normalperson@...
Issue #9577 has been reported by Eric Wong.
3 messages
2014/02/28
[ruby-core:61034] [ruby-trunk - Feature #9557] Enumerator#next and Enumerator#peek with argument
From:
sawadatsuyoshi@...
Date:
2014-02-23 18:41:06 UTC
List:
ruby-core #61034
Issue #9557 has been updated by Tsuyoshi Sawada.
> Do you mean peek and next to take index as an optional argument?
No, for `peek`, I mean the difference between the current position. So if the current position's index is `i`, then `peek(d)` looks at the element at index `i + d`.
And for `take`, my understanding is that, supposing the current index is `i`, then `take` reads whatever at position `i` and then increments the index to `i + 1`. My proposal is that when `take(d)` is given, increment the index to `i + d` instead of `i + 1` after it reads at `i`.
> Some enumerators cannot be rewinded thus it's impossible to index.
> If you mean skip not index, some enumerators cannot be peek further elements without modifying the position.
I see. Then I would like to ask this feature just for subset of enumerators, those that respond to `rewind`.
----------------------------------------
Feature #9557: Enumerator#next and Enumerator#peek with argument
https://bugs.ruby-lang.org/issues/9557#change-45439
* Author: Tsuyoshi Sawada
* Status: Open
* Priority: Normal
* Assignee:
* Category:
* Target version:
----------------------------------------
It often happens that I want to move the current index of an enumerator by some arbitrary number `n`. `Enumerator#feed` takes the element as the argument, but that cannot be used if the enumerator has duplicate elements, or when I do not have information of a particular element to choose but just want to increment the index by some number. `Enumerator#next`, on the other hand, has a fixed value `1` to be incremented. It would be convenient if `Enumerator#next` takes an optional argument that represents the difference of the index to be incremented. The argument can be understood to be defaulted to `1` when absent.
Also, I often want to look not necessarily the current position, but some position away. It would be good if `Enumerator#peek` takes an optional argument that represents the positional difference to be peeked. The argument can be understood to be defaulted to `0` when absent.
enum = [0, 1, 2, 3, 4, 5, 6, 7, 8].to_enum
enum.peek # => 0
enum.peek(0) # => 0
enum.peek(1) # => 1
enum.peek # => 0
enum.next # => 0
enum.next(1) # => 1
enum.next(2) # => 2
enum.peek # => 4
enum.peek(0) # => 4
enum.peek(1) # => 5
enum.peek # => 4
enum.next # => 4
enum.next(1) # => 5
enum.next(2) # => 6
peek # => 8
--
http://bugs.ruby-lang.org/