No need for macros!
Its an interesting feature request, maybe open a Github issue so people can 
discuss it.

I think your solution is not terrible, you could generalize it to

readcell(f, nlines) = readdlm(IOBuffer(string([readline(f) for i in 
1:nlines])))

Then do something like

f = open("mydata","r")
cells = {}
while !eof(f)
  push!(cells, readcell(f, 3))
end
close(f)



On Tuesday, August 12, 2014 10:40:24 AM UTC-4, Jarvist Moore Frost wrote:
>
> I’m writing a Julia parser to read in a large output from a Fortran 
> program which is essentially a load of concatenated matrices of differing 
> dimensions. It would be really useful to be able to do something along the 
> lines of readdlm(file,nlines=3) to pull in i.e. the 3x3 matrix you know 
> that follows.
>
> Currently I’m resorting to things like:
>
>     celltext=string(readline(f),readline(f),readline(f))
>     cell=readdlm(IOBuffer(celltext))
>
> And this really doesn’t feel like a very elegant method (not helped as 
> neither readline nor readlines appear to accept ‘number of lines’ as an 
> argument).
>
> Am I missing the Julia way to do things here? Or should I start writing 
> @macros to expand to this level of nitty gritty?
> ​
>

Reply via email to