运算符与记号
数学符号与函数的扩展文档在 这里.
符号 | 含义 |
---|---|
@ | @ 符号标记宏调用;可选后跟参数列表 |
! | 感叹号是一个表示逻辑否定的前缀算符 |
a! | 以感叹号结尾的函数名按约定会修改其一个或多个参数 |
# | 井号(或哈希符号)字符开始单行注释 |
#= | 后跟等号时,开始多行注释(这些注释可以嵌套) |
=# | 在井号前紧跟等号时,结束多行注释 |
$ | 美元符号用于字符串和表达式插值 |
% | 百分号是求余运算符 |
^ | 脱字符是幂运算符 |
& | 单个与符号是按位与运算符 |
&& | 双与符号是短路布尔与运算符 |
| | 单个管道符号是按位或运算符 |
|| | 双管道符号是短路布尔或运算符 |
⊻ | Unicode 异或符号是按位异或运算符 |
~ | 波浪号是按位非运算符 |
' | 尾随的撇号是 adjoint (即复共轭转置)运算符 Aᴴ |
* | 星号用于乘法,包括矩阵乘法和字符串连接 |
/ | 正斜杠将左边的参数除以右边的参数 |
\ | 反斜杠运算符将右边的参数除以左边的参数,通常用于求解矩阵方程 |
() | 无参数的圆括号构造一个空的 Tuple |
(a,...) | 带有逗号分隔参数的圆括号构造一个包含其参数的元组 |
(a=1,...) | 带有逗号分隔赋值的圆括号构造一个 NamedTuple |
(x;y) | 圆括号也可以用于分组一个或多个分号分隔的表达式 |
a[] | 数组索引(调用getindex 或 setindex! ) |
[,] | 向量字面量构造器(调用 vect ) |
[;] | 垂直连接(调用 vcat 或 hvcat ) |
[ ] | 带空格分隔的表达式,水平连接(调用 hcat 或 hvcat ) |
T{ } | 跟在类型后的花括号列出该类型的参数 |
{} | 花括号也可以用于在函数声明中分组多个 where 表达式 |
; | 分号分隔语句,开始函数声明或调用中的关键字参数列表,或用于分隔数组字面量以进行垂直连接 |
, | 逗号分隔函数参数或元组或数组组件 |
? | 问号界定三元条件运算符(使用方式:条件 ? 为真时 : 为假时 ) |
" " | 单个双引号字符界定 String 字面量 |
""" """ | 三个双引号字符界定可以包含 " 且忽略前导缩进的字符串字面量 |
' ' | 单引号字符界定 Char (即字符)字面量 |
` ` | 反引号字符界定 外部进程(Cmd )字面量 |
A... | 三个句点是一个后缀运算符,将其参数的内容"展开"为函数调用的多个参数,或声明一个可变参数函数,将多个参数"吸收"为单个元组 |
a.b | 单个句点访问对象/模块中的命名字段(调用 getproperty 或 setproperty! ) |
f.() | 句点也可以前缀圆括号(如 f.(...) )或中缀运算符(如 .+ )以按元素执行函数(调用 broadcast ) |
a:b | 冒号(: )用作二元中缀运算符,构造从 a 到 b (包含)的固定步长为 1 的范围 |
a:s:b | 冒号(: )用作三元中缀运算符,构造从 a 到 b (包含)的步长为 s 的范围 |
: | 单独使用时,Colon 表示维度内的所有索引,经常与索引组合使用 |
:: | 双冒号表示类型注解或 typeassert ,取决于上下文,经常用于声明函数参数 |
:( ) | 引用的表达式 |
:a | 符号 Symbol a |
<: | 子类型运算符 |
>: | 超类型运算符(子类型运算符的反向) |
= | 单个等号是赋值 |
== | 双等号是值相等比较 |
=== | 三等号是程序上完全相同的相等比较 |
=> | 使用等号的右箭头定义一个 Pair ,通常用于填充字典 |
-> | 使用连字符的右箭头在单行上定义一个匿名函数 |
|> | 管道运算符将左参数的输出传递给右参数的输入,通常是一个函数 |
∘ | 函数组合运算符(用 \circ{tab} 输入)将两个函数组合成一个更大的函数 |
_ | 下划线可以赋值但不会保存,通常用于忽略多返回值或创建重复的推导式 |