我无法从REPL运行我的程序。 当我尝试这个:
julia> ARGS = ["hello", "world"] include("test.jl")
error: ERROR: syntax: extra token "include" after end of expression
如何使其变成2行: 如果我尝试先运行:
ARGS = ["hello", "world"]
Error: ERROR: cannot assign variable Base.ARGS from module main
但是命令行可以正常工作
我尝试过:
julia> include("test.jl", ARGS = ["hello", "world"])
julia> include("test.jl","hello", "world")
他们都没有工作。
答案 0 :(得分:3)
ARGS,当在REPL上运行Julia时,加载到Main的String命令行参数数组是只读的。因此,您无法重新分配它。
但是,因为Main.ARGS与另一个模块的ARGS不同,所以您可以在REPL处创建一个新模块,并通过include在模块的名称空间中运行程序。
假设test.jl包含单行
println(prod(ARGS))
,因此您可以在REPL命令行中键入此内容(包括使用Enter键):
julia> module test
ARGS=["hello", "world"]
include("test.jl")
end
输出应为:
helloworld
Main.test