[#87467] [Ruby trunk Bug#14841] Very rarely IO#readpartial does not raise EOFError — mofezilla@...
Issue #14841 has been reported by hirura (Hiroyuki URANISHI).
3 messages
2018/06/10
[#87515] [Ruby trunk Bug#14841] Very rarely IO#readpartial does not raise EOFError — hirura@...
Issue #14841 has been updated by hirura (Hiroyuki URANISHI).
7 messages
2018/06/19
[#87516] Re: [Ruby trunk Bug#14841] Very rarely IO#readpartial does not raise EOFError
— Eric Wong <normalperson@...>
2018/06/19
hirura@gmail.com wrote:
[#87517] Re: [Ruby trunk Bug#14841] Very rarely IO#readpartial does not raise EOFError
— Eric Wong <normalperson@...>
2018/06/19
Sorry, I left this out: If you can reproduce it again, can you
[#87519] Re: [Ruby trunk Bug#14841] Very rarely IO#readpartial does not raise EOFError
— hirura <hirura@...>
2018/06/19
Hi Eric,
[#87521] Re: [Ruby trunk Bug#14841] Very rarely IO#readpartial does not raise EOFError
— Eric Wong <normalperson@...>
2018/06/19
hirura <hirura@gmail.com> wrote:
[#87541] [Ruby trunk Feature#14859] [PATCH] implement Timeout in VM — normalperson@...
Issue #14859 has been reported by normalperson (Eric Wong).
4 messages
2018/06/21
[#87605] [Ruby trunk Bug#14867] Process.wait can wait for MJIT compiler process — takashikkbn@...
Issue #14867 has been reported by k0kubun (Takashi Kokubun).
3 messages
2018/06/23
[#87614] [Ruby trunk Bug#14867] Process.wait can wait for MJIT compiler process — normalperson@...
Issue #14867 has been updated by normalperson (Eric Wong).
4 messages
2018/06/23
[#87631] [Ruby trunk Bug#14867] Process.wait can wait for MJIT compiler process — takashikkbn@...
Issue #14867 has been updated by k0kubun (Takashi Kokubun).
5 messages
2018/06/25
[#87635] Re: [Ruby trunk Bug#14867] Process.wait can wait for MJIT compiler process
— Eric Wong <normalperson@...>
2018/06/25
takashikkbn@gmail.com wrote:
[#87665] [Ruby trunk Bug#14867] Process.wait can wait for MJIT compiler process — eregontp@...
Issue #14867 has been updated by Eregon (Benoit Daloze).
4 messages
2018/06/28
[#87710] [Ruby trunk Bug#14867] Process.wait can wait for MJIT compiler process — Greg.mpls@...
Issue #14867 has been updated by MSP-Greg (Greg L).
3 messages
2018/06/30
[ruby-core:87395] [Ruby trunk Bug#14114] Add #step for Array, Enumerable, Enumerator
From:
shannonskipper@...
Date:
2018-06-04 23:03:09 UTC
List:
ruby-core #87395
Issue #14114 has been updated by shan (Shannon Skipper).
Here's a pure Ruby implementation of Enumerable#step, just for fun:
~~~ ruby
module Enumerable
def step step = 1
raise TypeError, 'no implicit conversion of Object into Integer' unless step.respond_to? :to_int
step_count = step.to_int
raise TypeError, "can't convert #{step.class} to Integer (#{step.class}#to_int gives #{step_count.class})" unless step_count.instance_of? Integer
raise TypeError, "step can't be 0" if step_count.zero?
raise TypeError, "step can't be negative" if step_count.negative?
if block_given?
each_slice step_count do |this_step, *_rest|
yield this_step
end
self
else
lazy_size = size.fdiv(step_count).ceil if size
Enumerator.new lazy_size do |yielder|
each_slice step_count do |this_step, *_rest|
yielder << this_step
end
end
end
end
end
~~~
A gist of the same, with some specs mostly borrowed from Range#step: https://gist.github.com/havenwood/501b7a7e57f512ec95cfcb7f9a44f0d0
----------------------------------------
Bug #14114: Add #step for Array, Enumerable, Enumerator
https://bugs.ruby-lang.org/issues/14114#change-72378
* Author: eike.rb (Eike Dierks)
* Status: Open
* Priority: Normal
* Assignee:
* Target version:
* ruby -v:
* Backport: 2.3: UNKNOWN, 2.4: UNKNOWN
----------------------------------------
This must have been discussed before,
please reassigned and close this one.
I want to propose an extension to the ruby core api:
- add #step(n) for Enumerable, Enumerator
- coerce the step() api across all the api (see Numeric#step(by:n, to:m))
- extend to: #step((by:n, to:m, offset:k)
We have Range#step,
but #step is not yet defined for Array, Enumerable, Enumerator
I believe, the semantics of #step, as defined in Range
applies like well for Enumerable and Enumerator
It should return every n'th element of the collection.
As of 2.4 #step is not yet defined for Enumerable/Enumerator.
But the semantics of this method is already well defined for Range.
That same semantics should also apply for Enumerable#step(n)
aka: pick every n'th element.
Examples:
('a'..'z').step(2)
=> #<Enumerator: ...>
('a'..'z').to_a.step(2)
NoMethodError: undefined method `step'
('a'..'z').to_enum.step(2)
NoMethodError: undefined method `step'
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>