Am Sun, 29 Dec 2013 22:03:14 +0000 schrieb "Jeroen Bollen" <[email protected]>:
> On Sunday, 29 December 2013 at 18:13:30 UTC, Jakob Ovrum wrote: > > On Sunday, 29 December 2013 at 17:25:39 UTC, Jeroen Bollen > > wrote: > >> Wouldn't byline return an empty string if the inputstream is > >> exhausted but not closed? > > > > No, both `readln` and `byLine` will block until either EOL or > > EOF. They differ in their handling of EOF - `readln` returns an > > empty string, while the result of `byLine` reports empty (it is > > a range) and calling `front` is an error. > > But wouldn't that mean I'd still end up making my char[] mutable, > as I still need to manually remove the last character, AFTER I > checked it's not empty? No, strings have immutable characters, but there is nothing wrong with using only part of it as an array slice: string s = readln(); s = s[0 .. $-1]; (just to illustrate) -- Marco
