运算符与记号

数学符号与函数的扩展文档在 这里.

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