2016-02-13 2 views
3

Я читал, что глобальные переменные оказывают заметное влияние на производительность.Инициирование или главная функция в Julia

Чтобы избежать их, я поставил все внутри функции init, так как я читал here.

Простой пример, integer.jl:

function __init__() 
    n = 0 
    while n < 2 
     try 
      print("Insert an integer bigger than 1: ") 
      n = parse(Int8,readline(STDIN)) 
     catch Error 
      println("Error!") 
     end 
    end 

    println(n) 
end 

Когда я бегу julia integer.jl из командной строки, ничего не происходит. function main() тоже не работает.

Что мне делать, чтобы заставить его работать?

(Кроме того, вы можете исправить любые ошибки, не эффективный код или не идиоматический синтаксис?)

ответ

9

Названия __init__ зарезервировано в качестве имени для функции в модуле, который автоматически запускается при загрузке модуля, поэтому, если это не то, что вы определяете, не используйте это имя. Вы можете вызвать эту функцию main (которая не имеет особого значения), а затем просто назовите ее так:

function main() 
    # do stuff 
end 

main()