Я наблюдал странное поведение метода split
на String
.Строка # split странное поведение
"1..2".split('..') # => ['1', '2']
"1..2".split('..', 2) # => ['1', '2']
"..2".split('..') # => ['', '2']
"..2".split('..', 2) # => ['', '2']
Все, как и ожидалось, но теперь:
"1..".split('..') # => ['1']
"1..".split('..', 2) # => ['1', '']
Я ожидаю, что первый вернуть то же самое, что второй.
У кого-нибудь есть хорошее объяснение, почему "1..".split('..')
возвращает массив только с одним элементом? Или это непоследовательность в Ruby? Что ты об этом думаешь?
Какой рубин вы используете? – Mattherick
Вы можете посмотреть: http://stackoverflow.com/questions/3568222/array-slicing-in-ruby-looking-for-explanation-for-illogical-behaviour-taken-fr – suvankar
@Mattherick: То же поведение в REE и Ruby 2.0 – spickermann