这只是一个方便,但我认为是有用的。注意,IPython允许纯退出,就像Matlab一样。因此,朱莉娅允许别名是合理的。
谢谢你对如何做这件事的任何想法。
发布于 2014-08-20 16:36:14
朱莉娅辞职
如果您从命令行使用Julia,那么ctrl就能工作。但是,如果您的目的是通过键入命令来退出,这是不可能完全按照您希望的方式进行的,因为在REPL中键入https://github.com/JuliaLang/julia/blob/master/base/client.jl#L38已经有一个意义,即返回与退出相关的值,即函数退出。
julia> quit
quit (generic function with 1 method)
julia> typeof(quit)
Function也是Python
但这并不罕见,比如Python也有类似的行为。
>>> quit
Use quit() or Ctrl-D (i.e. EOF) to exit使用宏
在Julia中使用\q可能很好,就像在postgres REPL一样,但不幸的是\也是已经有意义了。但是,如果您正在寻找一种简单的方法来完成此操作,那么使用宏如何?
julia> macro q() quit() end
julia> @q使朱莉娅退出
如果将宏定义放置在.juliarc.jl文件中,则每次运行解释器时都可以使用宏定义。
发布于 2014-08-21 01:32:32
正如waTeim所指出的,当您在REPL中键入quit时,它只显示函数本身…没有办法改变这种行为。如果不调用函数,则无法执行该函数,在Julia的语法中,调用函数的方式有限。
但是,您可以做的是更改函数的显示方式。这非常麻烦,而且不能保证工作正常,但是如果您非常想要这种行为,下面是您可以做的事情:将此行为黑客到显示方法中。
julia> function Base.writemime(io::IO, ::MIME"text/plain", f::Function)
f == quit && quit()
if isgeneric(f)
n = length(f.env)
m = n==1 ? "method" : "methods"
print(io, "$(f.env.name) (generic function with $n $m)")
else
show(io, f)
end
end
Warning: Method definition writemime(IO,MIME{symbol("text/plain")},Function) in module Base at replutil.jl:5 overwritten in module Main at none:2.
writemime (generic function with 34 methods)
julia> print # other functions still display normally
print (generic function with 22 methods)
julia> quit # but when quit is displayed, it actually quits!
$不幸的是,没有比::Function更具体的类型了,所以您必须完全覆盖writemime(::IO,::MIME"text/plain",::Function)定义,复制它的实现。
还请注意,这是相当意外和有点危险的。某些库可能最终会试图显示函数quit…。导致你失去了那次会议的工作。
发布于 2022-01-07 07:43:34
与朱莉娅的辞职有关
我在寻找一些简单的东西。这个问题自2017年以来就没有更新过,因为我现在试着学习Julia,并花一些时间搜索一些简单和类似于python的内容。在这里,我发现:你可以用:
exit()备注
我使用julia 1.53
https://stackoverflow.com/questions/25408705
复制相似问题