I am trying to find a way to input the components of an array of floating numbers (i.e. a vector for a mechanics class examples) interactively. This is the way I am doing it in a notebook
println("Componentes (3) of vector fx")
fx = zeros(Float64,3)
for i = 1:3
fx[i] = parse(Float64,readline())
end
But I was wondering if there is a way to input all values at once, say separated by commas.
Thanks
You could always parse the line as a String, and then use string methods such as split combined with parse to pull individual values out of the strings. So maybe something like
praseline(str::AbstractString) = parse.(Float64, split(str, " "))
line = readline()
fx = parseline(line)
You might be able to find a more direct way using read(stdin), but I don’t know what that would be off the top of my head.
I want to help the students input the data easily and clearly interactively when asked about the components of the vector. The way I have it now is not so intuitive because the students fill the STDIN box with the three values rather than waiting for the next STDIN box.