F..1 有名なスコープの話

まず、次の例は説明をしなくても分かる人が多いでしょう。
julia> function sum1(n)
           s=0.0
           for i=1:n
               s+=1.0/i
           end
           s
       end
sum1 (generic function with 1 method)

julia> sum1(1000)
7.485470860550343

ところが関数を作らず julia (REPL) に直接命令を打ち込むと
julia> s=0.0
julia> for i=1:1000
        s+=1.0/i
     end
ERROR: syntax: extra token "1.0" after end of expression
となる。sfor ループの中で見えない。

global という指定を、例えば
julia> s=0.0
julia> for i=1:1000
        global s
        s+=1.0/i
     end
julia> s
7.485470860550343
のように入れると動くということだけれど、 こういう使い方は効率の面からも推奨されない、ということらしい。



桂田 祐史