split
上のメソッドの奇妙な動作を観察しましたString
。
"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', '']
最初のものは2番目のものと同じものを返すと思います。
誰もが良い説明を持っていますか?なぜ"1..".split('..')
要素が1つだけの配列を返すのですか? それともRubyの矛盾ですか?あれについてどう思う?