I noticed that the "do" keyword behaves weirdly when trying to use it on a 
single line, e.g. in the REPL:

When the "do" keyword is used to create a function with one or more 
arguments everything works fine. 
julia> map([1,2,3]) do x 1+x end
map([1,2,3]) do x 1+x end
3-element Array{Int64,1}:
 2
 3
 4

Without arguments, multi-line usage works fine ...
julia> cd("c:/tmp") do
cd("c:/tmp") do

       println(1)
       end
1

... but single line usage fails ...
julia> cd("c:/tmp") do println(1) end
cd("c:/tmp") do println(1) end
ERROR: syntax: malformed function arguments (call println 1)

... and a ; cannot be used to fix it:
julia> cd("c:/tmp") do; println(1) end
cd("c:/tmp") do; println(1) end
ERROR: syntax: unexpected ;

Is this an actual inconsistency in the parsing or am I getting something 
wrong about how julia handles single-line code? So far it is the first 
example where I found a line-break to be both significant and not 
replaceable by a semi-colon. 

I am using the julia-0.2.1-win64 binary release. 

Reply via email to