[Issue 6735] New: splitLines ignores trailing delimiter

d-bugmail at puremagic.com d-bugmail at puremagic.com
Tue Sep 27 03:51:23 PDT 2011


http://d.puremagic.com/issues/show_bug.cgi?id=6735

           Summary: splitLines ignores trailing delimiter
           Product: D
           Version: D2
          Platform: Other
        OS/Version: Windows
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Phobos
        AssignedTo: nobody at puremagic.com
        ReportedBy: cbkbbejeap at mailinator.com


--- Comment #0 from Nick Sabalausky <cbkbbejeap at mailinator.com> 2011-09-27 03:50:49 PDT ---
Both of these should pass, but they currently fail:

assert("a\n".splitLines() == ["a", ""]);
assert("a\n".splitLines() != ["a"]);

This is inconsistent with both "\na".splitLines() and with split(str, delim),
as demonstrated here:

----------------------------------
import std.stdio;
import std.string;

void main()
{
//    assert("a\n".splitLines() == ["a", ""]);
    assert("a\n".splitLines() != ["a"]);

    foreach(str; ["a", "a\n", "\na"])
    {
        writefln("\nstr: '%s'", str);
        foreach(i, line; str.splitLines())
            writeln(i, ": ", line);
    }

    foreach(str; ["a", "a,", ",a"])
    {
        writefln("\nstr: '%s'", str);
        foreach(i, line; str.splitLines())
            writeln(i, ": ", line);
    }
}
----------------------------------

str: 'a
b'
0: a
1: b

str: 'a
b
'
0: a
1: b

str: '
a
b'
0:
1: a
2: b

str: 'a,b'
0: a
1: b

str: 'a,b,'
0: a
1: b
2:

str: ',a,b'
0:
1: a
2: b
----------------------------------

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list