我正在以交互方式运行:
Julia Version 0.4.0-dev+1903
Commit 6b0fcce (2014-11-30 18:08 UTC)
来自Base.parse的文档:
http://julia.readthedocs.org/en/latest/stdlib/base/?highlight=parse#Base.parse
我读到了这个:
如果raise为true(默认值),语法错误将引发错误; 否则,parse将返回一个会引发错误的表达式 经过评估。
当我这样做时,它的工作原理如下:
julia> parse("end")
ERROR: ParseError("unexpected end")
但不是在我这样做的时候:
julia> parse("println(")
:($(Expr(:incomplete, "incomplete: premature end of input")))
julia> eval(ans)
ERROR: syntax: incomplete: premature end of input
这是预期的行为吗? parse()
应该在第二种情况下抛出错误,还是应该等到eval()
?
答案 0 :(得分:1)
在这种情况下,Parse应该引发错误。根据Simon Byrne的评论,我发布了一个GitHub问题,该问题已经有拉动请求等待关闭它:https://github.com/JuliaLang/julia/pull/9514/
谢谢大家!