[#111472] [Ruby master Bug#19274] Error installing ruby 3.2.0 on RH 8 — "aalllop (Alberto Allegue) via ruby-core" <ruby-core@...>
Issue #19274 has been reported by aalllop (Alberto Allegue).
5 messages
2022/12/28
[#111508] Data support for versions before 3.2.0 — Eustáquio Rangel via ruby-core <ruby-core@...>
I was wondering that every piece of code (gems, etc) that use the new Data =
3 messages
2022/12/29
[ruby-core:111211] [Ruby master Bug#19184] create a Range with String subclass presents a weird behavior
From:
"clavius_tales (Clavius Tales Rocha Moreira)" <noreply@...>
Date:
2022-12-05 14:41:30 UTC
List:
ruby-core #111211
Issue #19184 has been updated by clavius_tales (Clavius Tales Rocha Moreira).
``` ruby
class CalendarMonth < String
def succ
self.class.new(next_month_string)
end
private
def next_month_string
if december?
"#{year + 1}-01"
else
"#{year}-#{(month + 1).to_s.rjust(2, '0')}"
end
end
def december?
month == 12
end
def month
self[-2..].to_i
end
def year
self[0..3].to_i
end
end
(CalendarMonth.new('2021-11')..CalendarMonth.new('2022-02')).to_a
```
Running the script above in Ruby 2.7.5, we get:
``` ruby
["2021-11", "2021-12", "2022-01", "2022-02"]
```
Running the same script in Ruby 3.1.3:
``` ruby
["2021-11",
"2021-12",
"2021-13",
"2021-14",
"2021-15",
"2021-16",
"2021-17",
"2021-18",
"2021-19",
"2021-20",
"2021-21",
"2021-22",
"2021-23",
"2021-24",
"2021-25",
"2021-26",
"2021-27",
"2021-28",
"2021-29",
"2021-30",
"2021-31",
"2021-32",
"2021-33",
"2021-34",
"2021-35",
"2021-36",
"2021-37",
"2021-38",
"2021-39",
"2021-40",
"2021-41",
"2021-42",
"2021-43",
"2021-44",
"2021-45",
"2021-46",
"2021-47",
"2021-48",
"2021-49",
"2021-50",
"2021-51",
"2021-52",
"2021-53",
"2021-54",
"2021-55",
"2021-56",
"2021-57",
"2021-58",
"2021-59",
"2021-60",
"2021-61",
"2021-62",
"2021-63",
"2021-64",
"2021-65",
"2021-66",
"2021-67",
"2021-68",
"2021-69",
"2021-70",
"2021-71",
"2021-72",
"2021-73",
"2021-74",
"2021-75",
"2021-76",
"2021-77",
"2021-78",
"2021-79",
"2021-80",
"2021-81",
"2021-82",
"2021-83",
"2021-84",
"2021-85",
"2021-86",
"2021-87",
"2021-88",
"2021-89",
"2021-90",
"2021-91",
"2021-92",
"2021-93",
"2021-94",
"2021-95",
"2021-96",
"2021-97",
"2021-98",
"2021-99",
"2022-00",
"2022-01",
"2022-02"]
```
I know it's not a good modeling inherit from String class, but...
----------------------------------------
Bug #19184: create a Range with String subclass presents a weird behavior
https://bugs.ruby-lang.org/issues/19184#change-100501
* Author: clavius_tales (Clavius Tales Rocha Moreira)
* Status: Open
* Priority: Normal
* ruby -v: 3.1.3
* Backport: 2.7: UNKNOWN, 3.0: UNKNOWN, 3.1: UNKNOWN
----------------------------------------
``` ruby
class CalendarMonth < String
def succ
self.class.new(
if december?
"#{year + 1}-01"
else
"#{year}-#{(month + 1).to_s.rjust(2, '0')}"
end
)
end
private
def december?
month == 12
end
def month
self[-2..].to_i
end
def year
self[0..3].to_i
end
end
(CalendarMonth.new('2021-11')..CalendarMonth.new('2022-02')).to_a
```
Running the script above in Ruby 2.7.5, we get:
``` ruby
["2021-11", "2021-12", "2022-01", "2022-02"]
```
Running the same script in Ruby 3.1.3:
```ruby
["2021-11",
"2021-12",
"2021-13",
"2021-14",
"2021-15",
"2021-16",
"2021-17",
"2021-18",
"2021-19",
"2021-20",
"2021-21",
"2021-22",
"2021-23",
"2021-24",
"2021-25",
"2021-26",
"2021-27",
"2021-28",
"2021-29",
"2021-30",
"2021-31",
"2021-32",
"2021-33",
"2021-34",
"2021-35",
"2021-36",
"2021-37",
"2021-38",
"2021-39",
"2021-40",
"2021-41",
"2021-42",
"2021-43",
"2021-44",
"2021-45",
"2021-46",
"2021-47",
"2021-48",
"2021-49",
"2021-50",
"2021-51",
"2021-52",
"2021-53",
"2021-54",
"2021-55",
"2021-56",
"2021-57",
"2021-58",
"2021-59",
"2021-60",
"2021-61",
"2021-62",
"2021-63",
"2021-64",
"2021-65",
"2021-66",
"2021-67",
"2021-68",
"2021-69",
"2021-70",
"2021-71",
"2021-72",
"2021-73",
"2021-74",
"2021-75",
"2021-76",
"2021-77",
"2021-78",
"2021-79",
"2021-80",
"2021-81",
"2021-82",
"2021-83",
"2021-84",
"2021-85",
"2021-86",
"2021-87",
"2021-88",
"2021-89",
"2021-90",
"2021-91",
"2021-92",
"2021-93",
"2021-94",
"2021-95",
"2021-96",
"2021-97",
"2021-98",
"2021-99",
"2022-00",
"2022-01",
"2022-02"]
```
I know it's not a good modeling inherit from String class, but...
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- [email protected]
To unsubscribe send an email to [email protected]
ruby-core info -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-core.ml.ruby-lang.org/