在Julia中更改REPL模块/命名空间

时间:2016-08-03 22:36:09

标签: module namespaces julia read-eval-print-loop

我正在寻找一种进入"进入" REPL中的模块,因此我可以无限制地访问所有符号(不仅仅是导出的符号),并且在REPL中定义的任何函数(re)都可以在指定的模块中访问。 (基本上这是Common Lisp的in-package宏的功能。)

这在面向REPL的工作流程中很有用,因为我可以在REPL中编写与我正在开发的模块中相同的代码。

手册recommends a workflow我对所有内容进行了限定,但这看起来很烦人。

3 个答案:

答案 0 :(得分:6)

我暂时开始了一个名为REPLMods.jl的软件包。它可能应该被打磨,但我还没有时间。

我与Julia的核心成员进行过交谈,一旦事情干净,有兴趣将它合并到基地,但是,没时间了!

答案 1 :(得分:1)

我知道这不是你所要求的,但是为了防止你(或问题的未来访问者)没有出现'明显',假设你加载了一个带有令人讨厌的繁琐名称的模块,例如

import LaTeXStrings

并且您不希望一直只是为了探索其可访问性而键入LaTeXStrings,即

LaTeXStrings.[TAB]

您可以将导入的模块作为一个整体分配给另一个变量,即

const l = LaTeXStrings

我确信在没有更合适的内置解决方案的情况下,至少键入l.[TAB]而不是LaTeXStrings.[TAB]更容易忍受:)

(我觉得很奇怪,事实上,julia似乎不支持import LaTeXStrings as l语法......)

答案 2 :(得分:0)

现在是2020年,我正在使用Julia 1.4,但无法使REPLMods.jl正常工作。我认为以下内容暂时足够了:

相关问题