why there is a [] at the end of assocArray

Ali Çehreli acehreli at yahoo.com
Wed Jan 19 16:36:36 UTC 2022


On 1/19/22 06:06, michaelbi wrote:
> On Wednesday, 19 January 2022 at 13:21:32 UTC, Stanislav Blinov wrote:
>> On Wednesday, 19 January 2022 at 13:15:35 UTC, michaelbi wrote:
>>
>>>         foreach(line; > 
>>> File("input.txt").byLine.map!(a=>a.idup).array.transposed)
>>
>>> so why there is a [] at the end of assocArray printed? thanks.
>>
>> ...because there's an empty line at the end of input.txt?
> 
> i got it, though i still don't know where the [] come from. i just add 
> strip here: a=>a.idup.strip

Works for me on Linux. Perhaps there is an issue with Windows line endings?

In any case, the .strip above would not be eliminating empty lines; you 
need to filter them out e.g. with

   byLine.filter!(line => !line.empty)

Aside: Instead of copying the lines with .idup explicitly, there is 
.byLineCopy that already does that.

Ali


More information about the Digitalmars-d-learn mailing list