[#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@...>
nobu@ruby-lang.org 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
matz@ruby-lang.org 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:85734] [Ruby trunk Feature#14473] Add Range#subrange?
From:
owen@...
Date:
2018-02-21 16:54:50 UTC
List:
ruby-core #85734
Issue #14473 has been updated by owst (Owen Stephens).
So, something like (naive implementation in Ruby):
~~~ ruby
Range.class_exec do
def subset?(other)
raise ArgumentError unless other.is_a?(Range)
first >= other.first && last <= other.last
end
def proper_subset?(other)
raise ArgumentError unless other.is_a?(Range)
self != other && subset?(other)
end
def superset?(other)
raise ArgumentError unless other.is_a?(Range)
first <= other.first && last >= other.last
end
def proper_superset?(other)
raise ArgumentError unless other.is_a?(Range)
self != other && superset?(other)
end
end
require 'minitest/autorun'
class TestRange < MiniTest::Test
def test_subset
assert_equal true, (1..10).subset?(1..10)
assert_equal true, (2..9).subset?(1..10)
assert_equal true, (1..9).subset?(1..10)
assert_equal true, (2..10).subset?(1..10)
assert_equal false, (0..11).subset?(1..10)
assert_equal false, (0..10).subset?(1..10)
assert_equal false, (1..11).subset?(1..10)
assert_raises(ArgumentError) { (1..10).subset?('not a range') }
end
def test_proper_subset
assert_equal false, (1..10).proper_subset?(1..10)
assert_equal true, (2..9).proper_subset?(1..10)
assert_equal true, (1..9).proper_subset?(1..10)
assert_equal true, (2..10).proper_subset?(1..10)
assert_equal false, (0..11).proper_subset?(1..10)
assert_equal false, (0..10).proper_subset?(1..10)
assert_equal false, (1..11).proper_subset?(1..10)
assert_raises(ArgumentError) { (1..10).proper_subset?('not a range') }
end
def test_superset
assert_equal true, (1..10).superset?(1..10)
assert_equal false, (2..9).superset?(1..10)
assert_equal false, (1..9).superset?(1..10)
assert_equal false, (2..10).superset?(1..10)
assert_equal true, (0..11).superset?(1..10)
assert_equal true, (0..10).superset?(1..10)
assert_equal true, (1..11).superset?(1..10)
assert_raises(ArgumentError) { (1..10).superset?('not a range') }
end
def test_proper_superset
assert_equal false, (1..10).proper_superset?(1..10)
assert_equal false, (2..9).proper_superset?(1..10)
assert_equal false, (1..9).proper_superset?(1..10)
assert_equal false, (2..10).proper_superset?(1..10)
assert_equal true, (0..11).proper_superset?(1..10)
assert_equal true, (0..10).proper_superset?(1..10)
assert_equal true, (1..11).proper_superset?(1..10)
assert_raises(ArgumentError) { (1..10).proper_superset?('not a range') }
end
end
~~~
For the record, I'd be interested in taking a stab at implementing this in MRI, if the proposal is accepted.
----------------------------------------
Feature #14473: Add Range#subrange?
https://bugs.ruby-lang.org/issues/14473#change-70545
* 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
~~~
--
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>