【问题标题】:Pass Julia arguments to be executed in REPL?传递要在 REPL 中执行的 Julia 参数?
【发布时间】:2022-12-09 21:03:21
【问题描述】:

我非常(非常!)在日常工作中经常这样做:

$ j7 # (alias for Julia version 1.7)
julia>
julia> ] activate .
(or similarly) (@v1.8) pkg> activate . 
Activating project at `~/MyMWE_WorkingPath`
julia> using Revise ; using RRSP # RRSP is my working module

我想要一个别名来更快更轻松地执行此例程。我每周至少做十次,而且会再做几个月。

理想情况下,我会做类似 j7RRSP 的事情,它是以下内容的别名:

alias j7RRSP='julia > ]activate . ; using Revise ; using RRSP'

这是不正确的,我不知道该怎么做! 我知道执行 julia 文件的别名是可能的:

alias j7jl='julia somefiles.jl'

就我而言,我正在激活一个项目,然后使用两个包,一个是 Revise,这是标准的,然后是我创建的 RRSP。

【问题讨论】:

  • 快速回答:您希望自定义您的 startup.jl 文件以及 julia 命令的 --project 选项。

标签: bash julia alias read-eval-print-loop


【解决方案1】:

这是一种解决方案:

alias j7RRSP='julia --project=. -e "using Revise, RRSP" -i'

标志:

  • --project=.:直接从当前目录下的项目开始,而不是使用]activate .
  • -e "...":评估代码...
  • -i:请求一个交互式会话,这是必需的,否则,由于与-e 结合,进程在评估代码后退出。

【讨论】:

  • 这是伟大的:)
【解决方案2】:

另一种解决方案是使用一个与别名完全相同的函数,但语法和功能更清晰:

j7RRSP() {
  julia --project=. -e "using Revise, RRSP" -i "$@"
}

作为一行:

j7RRSP(){ julia --project=. -e "using Revise, RRSP" -i "$@";}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-20
    • 2015-05-11
    • 1970-01-01
    • 2020-08-01
    • 2016-01-01
    • 2023-04-04
    相关资源
    最近更新 更多