[#85349] [Ruby trunk Bug#14334] Segmentation fault after running rspec (ruby/2.5.0/erb.rb:885 / simplecov/source_file.rb:85) — pragtob@...
Issue #14334 has been updated by PragTob (Tobias Pfeiffer).
3 messages
2018/02/02
[#85358] Re: [ruby-cvs:69220] nobu:r62039 (trunk): compile.c: unnecessary freezing — Eric Wong <normalperson@...>
[email protected] wrote:
5 messages
2018/02/03
[#85612] Why require autoconf 2.67+ — leam hall <leamhall@...>
Please pardon the intrusion; I am new to Ruby and like to pull the
6 messages
2018/02/17
[#85634] [Ruby trunk Bug#14494] [PATCH] tool/m4/ruby_replace_type.m4 use AC_CHECK_TYPES for HAVE_* macros — normalperson@...
Issue #14494 has been reported by normalperson (Eric Wong).
3 messages
2018/02/19
[#85674] [Ruby trunk Feature#13618] [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid — matz@...
Issue #13618 has been updated by matz (Yukihiro Matsumoto).
5 messages
2018/02/20
[#85686] Re: [Ruby trunk Feature#13618] [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
— Eric Wong <normalperson@...>
2018/02/20
[email protected] wrote:
[#85704] Re: [Ruby trunk Feature#13618] [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
— Koichi Sasada <ko1@...>
2018/02/21
On 2018/02/20 18:06, Eric Wong wrote:
[ruby-core:85778] [Ruby trunk Feature#14473] Add Range#subrange?
From:
al2o3cr@...
Date:
2018-02-23 16:30:31 UTC
List:
ruby-core #85778
Issue #14473 has been updated by al2o3cr (Matt Jones).
Minor point: IMO a "Range with steps" isn't a Range, it's something else. It doesn't seem relevant to the discussion.
Bigger point: the tests on improper ranges in the patch seem to imply some odd consequences:
~~~ ruby
range_1 = "g".."f"
range_2 = "b".."e"
range_1.subset?(range_2) # => true
range_2.any? { |el| range_1.include? el } # => false
~~~
So `range_1` claims to be a subset of `range_2`, but no elements of `range_2` are included in `range_1`.
~~~ ruby
range_3 = "d".."a"
range_1.subset?(range_3) # => true
range_3.subset?(range_1) # => true
~~~
Generally, `a <= b` and `b <= a` implies `a == b`. In this case, however, the early return in `range_subset` means that any improper range passed to `subset?` will return `true`.
`min` and `max` also have bad performance characteristics for exclusive ranges that `linear_object_p` returns `false` for, as they need to generate all the intermediate elements using `succ`. For instance, attempting to evaluate `("aaaaaaaaaa"..."zzzzzzzzzz").max` ran for over a minute before I gave up and aborted it. There's also explicit code (see `discrete_object_p` and callsites) that makes exclusive ranges of `Time` objects raise `TypeError` if you call `max` on them.
----------------------------------------
Feature #14473: Add Range#subrange?
https://bugs.ruby-lang.org/issues/14473#change-70627
* Author: greggzst (Grzegorz Jakubiak)
* Status: Open
* Priority: Normal
* Assignee:
* Target version:
----------------------------------------
Hi there,
I'd like to propose a method that returns true when a range that the method gets called on is a subrange of a range passed in as an argument.
Example:
~~~ ruby
(2..4).subrange?(1...4)
=> true
(-2..2).subrange?(-1..3)
=> false
~~~
---Files--------------------------------
0001-range.c-add-subset-superset-methods.patch (8.84 KB)
v2-0001-range.c-add-subset-superset-methods.patch (8.85 KB)
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:[email protected]?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>