Hi Peter, why do we need stream = ...
, in:
stream = open(filename, "r") do stream ...
?
Also, shouldn’t it be: 4*index - 4
, in:
readvalue(stream, 4*index - 3)
?
See a working example here:
function readvalue(stream, position)
seek(stream, position)
return read(stream, Int32)
end
function readvalues(filename::AbstractString, indices)
open(filename, "r") do stream
return [readvalue(stream, 4*index-4) for index in indices]
end
end
# Writing test file:
x = Int32.(1:1000)
open("array_Int32.bin", "w") do io
write(io, x, Int32[])
end
# Reading test file:
y = readvalues("array_Int32.bin", 1:10:1000)
Thanks.