I guess I found the problem, but don't know a solution.
The following test code (same as the previous one except that I put them in
a function) now produces the same problem as my real code.
type Tech
cl::Array{Float64,1}
cm::Array{Float64,1}
function Tech()
this = new()
this.cl=[1:4]
this.cm=[6:10]
this
end
end
function mytest()
tech = Tech()
while true
println("input a choice")
ch = read(STDIN, Char)
if ch=='l'
y1 = include_string("tech.cl")
println(y1)
elseif ch=='m'
y1 = include_string("tech.cm")
println(y1)
elseif ch=='q'
break
end
end
end
---------------------------------
_ _ _(_)_ | A fresh approach to technical computing
(_) | (_) (_) | Documentation: http://docs.julialang.org
_ _ _| |_ __ _ | Type "help()" for help.
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 0.3.8 (2015-04-30 23:40 UTC)
_/ |\__'_|_|_|\__'_| | Official http://julialang.org release
|__/ | x86_64-linux-gnu
julia> include("test.jl")
mytest (generic function with 1 method)
julia> mytest()
input a choice
l
ERROR: tech not defined
in mytest at /home/xxxx/Coding/Julia/test.jl:19
while loading string, in expression starting on line 1