Project

General

Profile

Actions

Feature #3575

closed

String#split is inconsistent with empty string and negative limit

Added by Conrad.Irwin (Conrad Irwin) over 14 years ago. Updated over 4 years ago.

Status:
Closed
Target version:
-
[ruby-core:31296]

Description

Currently works like this:

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

According to the documentation, blank fields should not be stripped when a negative offset is provided. I expect:

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

Related issues 2 (0 open2 closed)

Related to Ruby master - Feature #4335: String#split for empty string is always empty arrayRejectedActions
Related to Ruby master - Feature #5120: String#split needs to be logicalRejectedmatz (Yukihiro Matsumoto)Actions

Updated by akr (Akira Tanaka) over 12 years ago

  • Description updated (diff)

I think Ruby thinks "" has no fields, not one field which have empty string.

So, "".split(",", -1) should return [].

Documentation issue, maybe.

Updated by drbrain (Eric Hodel) over 12 years ago

  • Category changed from core to doc
  • Assignee set to drbrain (Eric Hodel)

I will add a note to the documentation to cover the behavior of empty strings.

Updated by mame (Yusuke Endoh) over 12 years ago

  • Status changed from Open to Assigned
Actions #4

Updated by drbrain (Eric Hodel) over 12 years ago

  • Status changed from Assigned to Closed
  • % Done changed from 0 to 100

This issue was solved with changeset r35275.
Conrad, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


  • string.c (rb_str_split_m): Documented behavior of split on the empty
    string. [ruby-trunk - Feature #3575]
Actions #5

Updated by sawa (Tsuyoshi Sawada) over 4 years ago

  • Description updated (diff)
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0