String#splitで、分割結果末尾の扱い

rubyのString#splitは第2引数によって分割結果末尾が空文字の時の動作が異なる。
以下、実行例。

'a,b,,'.split(',') # => ["a", "b"]
'a,b,,'.split(',', -1) # => ["a", "b", "", ""]

過去、何度も、第2引数を省略時と負数時の動作を勘違いして、無駄にはまっていたのだが、また、今日も30分はまってしまった。