贡献者: addis
!,但不能在首字母。也可以在任何位置包含 unicode
f(x, y) = x + y;(assignment form)
! 表示函数参数会被改变。例如 v = [3,2,1]; sort(v) 返回排好的数组,但 v 不改变。sort!(v) 直接改变 v。
1 + 2 + 3 + ... 相当于 +(1, 2, 3, + ...)
| Expression | Calls |
[A B C ...] | hcat
|
[A; B; C; ...] | vcat
|
[A B; C D; ...] | hvcat
|
A' | adjoint
|
A[i] | getindex
|
A[i] = x | setindex!
|
A.n | getproperty
|
A.n = x | setproperty!
|
[1,2,3]' 返回的是 LinearAlgebra.Adjoint{Int64, Vector{Int64}},Julia 真心牛逼。
@which sin(pi) 可以返回调用的 sin 的定义(具体到行)。
function g(x,y)::变量类型 可以限制返回的变量类型。
fun(a,b,x...) 可以定义任意变量个数的函数。在函数体内 x 是一个 tuple,包括后面的所有变量。
return 表达式 用于返回一个值。如果不使用,那就返回最后一个表达式的值,如果最后一个表达式没有值(如 println()),那就返回 nothing(类型为 Nothing)。
fun(a, b=2; c=3, d) = a + b + c - d; 中,b 的默认值是 2,含有默认值的普通变量必须放在所有普通变量的最后。; 后面是命名变量,每一个都可以有或没有默认值。调用时命名变量需要制定名字,例如 fun(1, d=4)。
fun() = (a = 1; b = 2; return a + b); 右边用括号囊括多条命令。
f = x -> x^2 +1,类型是 var"#1#2",是 Function 的子类。
sort 和 sort!
map(函数, 数组) 对数组中每个元素使用函数。
要建议编译器把某个函数内联,用
@inline function myfunction(x)
x * (x + 3)
end
 
 
 
 
 
 
 
 
 
 
 
友情链接: 超理论坛 | ©小时科技 保留一切权利