String#to_c supports multiple "_"
I've noticed a minor inconsistent behaviour of
String#to_c method. It does not treat a sequence of
_ character as an end of meaningful characters:
"123".to_c # => (123+0i) "12_3".to_c # => (123+0i) "12__3".to_c # => (123+0i) "12___3".to_c # => (123+0i)
#to_r treat multiple
_ in a different way - they just ignore characters after it:
"12__3".to_i # => 12 "12__3".to_r # => (12/1)
I would expect
#to_c to behave similarly.
$ ruby -v ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x86_64-darwin21]
Updated by nagachika (Tomoyuki Chikanaga) 10 months ago
- Backport changed from 2.7: REQUIRED, 3.0: REQUIRED, 3.1: REQUIRED to 2.7: REQUIRED, 3.0: REQUIRED, 3.1: DONTNEED
I agree that the new behavior is consistent and preferable, but I don't think it should be fixed on the stable branches.
If there are any troubles on the real world applications with this issue, please let me know.