Thank-you to Tony for straightening me out (off-line).  As clearly stated 
in the help, readchomp() is *supposed* to return a single string, and only 
strips newlines from the very end.  What I wanted was

lines = open("test.txt","r") do fid

  map(chomp,readlines(fid))

end


which works fine.


Sorry for all this noise.


--Peter


On Monday, March 10, 2014 7:14:31 PM UTC-7, Tony Kelman wrote:
>
> +1 for more "doing-the-right-thing"-ness wrt annoying carriage returns.
>
> Semi-related: in test/spawn.jl, the tests on lines 17 and 23 fail when run 
> in a Windows command prompt but succeed from an MSYS/Cygwin terminal 
> because they pipe to whichever sort.exe is found in PATH, and lines are 
> terminated by "\r\n" in the output from Windows' sort.exe.
>
>
> On Monday, March 10, 2014 5:20:27 PM UTC-7, Peter Simon wrote:
>>
>> Just tried to grab the lines in a text file on Windows using Julia 
>> Version 0.3.0-prerelease+1570 with the following code:
>>
>> lines = open("test.cut","r") do fid
>>    readchomp(fid)
>> end
>>
>> lines came back to be a single string with embeded "\r\n" characters.  I 
>> had expected to get an array of strings without any trailing carriage 
>> returns/newlines.  Looking in the Julia source code I see that only '\n' is 
>> checked for.
>>
>> I work in an environment where we freely intermix Linux-style 
>> ('\n'-terminated) and Windows-style ("\r\n"-terminated) files.  Most of our 
>> other tools work transparently with either file type, without any explicit 
>> need for conversion.
>>
>> Are there any plans to make Julia's utility functions such as chomp(), 
>> readchomp(), etc., be able to handle these various line ending conventions?
>>
>> Thanks,
>> --Peter
>>
>

Reply via email to