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
362. 查看类型
julia
julia> typeof(1)
Int64
julia> typeof(1.0)
Float64
julia> typeof("hello")
String3. 查看方法
julia
julia> methods(+)
# [显示所有 + 运算符的方法]4. 计时
julia
julia> @time sum(1:1000000)
0.000001 seconds
5000005000005. 内存分配
julia
julia> @allocated rand(1000)
8000退出 REPL
有多种方式退出:
julia
julia> exit()
# 或按 Ctrl + D(在空行时)下一步
掌握 REPL 使用后,请继续学习: