2014-02-18 3 views
3

Я пытаюсь читать из файла, где каждая строка содержит некоторое числоЧтение построчно в Julia

Но когда я дал как этот

f=open("data.txt") 
a=readline(f) 
arr=int64[] 
push!(arr,int(a)) 

Я получаю

ERROR: no method getindex(Function) 
in include_from_node1 at loading.jl:120 

ответ

6

Ошибка исходит от int64[], так как int64 является функцией, и вы пытаетесь проиндексировать ее с помощью []. Чтобы создать массив из Int64 (обратите внимание на случай), вы должны использовать, например, arr = Int64[].

Другая проблема в вашем коде является int(a) - поскольку у вас есть массив Int64, вы должны также указать один и тот же тип при обработке, например, push!(arr,parseint(Int64,a))

+0

Какая разница ч/б междунар() и ParseInt ()? Я думаю, что int(), похоже, работает в моем случае – user567879

+0

@ user567879 My bad, 'int()' поддерживает синтаксический анализ строк. Однако, если вы хотите запустить код на 32-битной платформе, он может не соответствовать типу 'Int64', тогда как' parseint (Int64, str) 'позволяет вам указать тип, чтобы он по-прежнему был полезен. – Arkku

+0

И вы можете сказать 'arr = Int64 []' (обратите внимание на заглавную) – tholy

Смежные вопросы