Julia匿名功能
示例
箭头语法
可以使用->语法创建匿名函数。这对于将函数传递给高阶函数(例如函数)很有用map。下面的函数计算数组中每个数字的平方A。
squareall(A) = map(x -> x ^ 2, A)
使用此功能的示例:
julia> squareall(1:10)
10-element Array{Int64,1}:
1
4
9
16
25
36
49
64
81
100多行语法
可以使用function语法创建多行匿名函数。例如,以下示例计算第一个n数字的阶乘,但使用匿名函数代替内置函数factorial。
julia> map(function (n)
product = one(n)
for i in 1:n
product *= i
end
product
end, 1:10)
10-element Array{Int64,1}:
1
2
6
24
120
720
5040
40320
362880
3628800禁止语法
因为将匿名函数作为第一个参数传递给函数非常普遍,所以存在do块语法。语法
map(A) do x
x ^ 2
end相当于
map(x -> x ^ 2, A)
但是前者在许多情况下会更加清晰,尤其是在匿名函数中进行了大量计算的情况下。do由于资源管理的原因,块语法对于文件输入和输出特别有用。
热门推荐
10 儿子立冬祝福语简短独特
11 对当兵的祝福语简短
12 侄儿高考试祝福语简短
13 伴郎红包祝福语朋友简短
14 媳妇生日简短祝福语朋友
15 公司年会祝福语简短最好
16 元旦感恩祝福语简短大全
17 红包祝福语简短10字
18 周六早晨祝福语简短