Skip to content

Julia 交互式命令

Julia REPL(Read-Eval-Print Loop)是 Julia 的交互式命令行环境,是学习和实验 Julia 代码的绝佳工具。

启动 REPL

在终端输入 julia 即可启动 REPL:

               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.10.0 (2023-12-25)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

julia>

基本使用

执行表达式

直接输入表达式,按回车执行:

julia
julia> 1 + 2
3

julia> "Hello, " * "Julia!"
"Hello, Julia!"

julia> sqrt(16)
4.0

变量赋值

julia
julia> x = 10
10

julia> y = 20
20

julia> x + y
30

多行输入

使用分号 ; 抑制输出:

julia
julia> a = 1;

julia> b = 2;

julia> a + b
3

对于多行代码,可以直接换行输入:

julia
julia> function greet(name)
           println("Hello, $name!")
       end
greet (generic function with 1 method)

julia> greet("Julia")
Hello, Julia!

REPL 模式

Julia REPL 有四种主要模式,通过特殊按键切换。

1. Julian 模式(默认)

提示符:julia>

用于执行 Julia 代码。

2. 帮助模式

? 进入,提示符变为:help?>

julia
help?> println
search: println printstyled print sprint isprint

  println([io::IO], xs...)

  Print (using print) xs to io followed by a newline. 
  If io is not supplied, prints to the default output stream stdout.

Backspace 返回 Julian 模式。

3. 包管理模式

] 进入,提示符变为:(@v1.10) pkg>

julia
(@v1.10) pkg> status
Status `~/.julia/environments/v1.10/Project.toml`
  [336ed68f] CSV v0.10.12
  [a93c6f00] DataFrames v1.6.1

常用命令:

julia
pkg> add PackageName      # 安装包
pkg> rm PackageName       # 删除包
pkg> update               # 更新所有包
pkg> status               # 查看已安装的包
pkg> instantiate          # 根据 Project.toml 安装依赖

Backspace 返回 Julian 模式。

4. Shell 模式

; 进入,提示符变为:shell>

julia
shell> pwd
/home/user

shell> ls
Documents  Downloads  julia-project

Backspace 返回 Julian 模式。

快捷键

编辑快捷键

快捷键功能
Ctrl + C中断当前执行
Ctrl + D退出 REPL(在空行时)
Ctrl + L清屏
Ctrl + R搜索历史命令
/ 浏览历史命令
Tab自动补全

行编辑快捷键

快捷键功能
Ctrl + A移动到行首
Ctrl + E移动到行尾
Ctrl + K删除到行尾
Ctrl + U删除到行首
Ctrl + W删除前一个单词

自动补全

Tab 键可以自动补全:

函数名补全

julia
julia> prin<Tab>
print     println   printstyled

模块成员补全

julia
julia> using LinearAlgebra

julia> LinearAlgebra.<Tab>
BLAS         Diagonal     Factorization  ...

文件路径补全

julia
julia> include("<Tab>

Unicode 补全

Julia 支持 Unicode 字符,可以通过 LaTeX 式输入:

julia
julia> \alpha<Tab>
α

julia> \sqrt<Tab>


julia> \pi<Tab>
π

常用 Unicode 符号:

输入结果含义
\alphaα希腊字母
\betaβ希腊字母
\piπ圆周率
\sqrt平方根
\sum求和
\in属于
\notin不属于
\leq小于等于
\geq大于等于
\neq不等于

历史记录

查看历史

使用上下箭头键浏览之前的命令。

搜索历史

Ctrl + R 进入反向搜索模式:

julia
(reverse-i-search)`pri': println("Hello")

历史记录文件

历史记录保存在 ~/.julia/logs/repl_history.jl

特殊变量

ans

ans 保存上一个表达式的结果:

julia
julia> 1 + 2
3

julia> ans * 2
6

下划线变量

_ 也可以用来引用上一个结果(在某些上下文中):

julia
julia> 5 + 5
10

julia> _ + 1  # 可能不是所有版本都支持

运行脚本

在 REPL 中运行脚本

julia
julia> include("myscript.jl")

命令行运行脚本

bash
julia myscript.jl

带参数运行

bash
julia myscript.jl arg1 arg2

在脚本中访问参数:

julia
# myscript.jl
for arg in ARGS
    println(arg)
end

启动选项

常用命令行选项

bash
# 指定线程数
julia -t 4

# 执行表达式
julia -e 'println("Hello")'

# 安静模式(不显示 banner)
julia -q

# 交互模式运行脚本后进入 REPL
julia -i script.jl

# 优化级别
julia -O3 script.jl

# 查看帮助
julia --help

启动文件

Julia 启动时会自动执行 ~/.julia/config/startup.jl

julia
# ~/.julia/config/startup.jl
println("Welcome to Julia!")

# 设置默认 REPL 行为
atreplinit() do repl
    # 自定义 REPL 初始化
end

实用技巧

1. 快速测试函数

julia
julia> f(x) = x^2 + 2x + 1
f (generic function with 1 method)

julia> f(3)
16

julia> f.(1:5)  # 向量化调用
5-element Vector{Int64}:
  4
  9
 16
 25
 36

2. 查看类型

julia
julia> typeof(1)
Int64

julia> typeof(1.0)
Float64

julia> typeof("hello")
String

3. 查看方法

julia
julia> methods(+)
# [显示所有 + 运算符的方法]

4. 计时

julia
julia> @time sum(1:1000000)
  0.000001 seconds
500000500000

5. 内存分配

julia
julia> @allocated rand(1000)
8000

退出 REPL

有多种方式退出:

julia
julia> exit()

# 或按 Ctrl + D(在空行时)

下一步

掌握 REPL 使用后,请继续学习:

本站内容仅供学习和研究使用。