Julia

Julia 中的函数可以被匿名构造,成为匿名函数,匿名函数是没有函数名的函数

julia> x -> x + 1
#3 (generic function with 1 method)

这是一个匿名函数,输入参数 x 的值,返回 x + 1 的值

该匿名函数相当于该函数

julia> function (x)
           x + 1
       end
#5 (generic function with 1 method)

匿名函数的主要用途是将自己传递给其他函数作为参数

最经典的例子是 map 函数,它将函数应用于数组的每个值, 并返回一个包含结果值的新数组

julia> map(round, [1.2, 3.3, 4.2])
3-element Array{Float64,1}:
 1.0
 3.0
 4.0

map 函数的第一个参数可以不是匿名函数,大多数情况下是匿名函数

julia> map(x -> x + 1, [5, 6, 7])
3-element Array{Int64,1}:
 6
 7
 8

匿名函数也可以传递多个参数 (x, y, z) -> 2x + y - z

julia> (x, y, z) -> 2x + y - z
#13 (generic function with 1 method)

无参匿名函数相当于 () -> 3

julia> () -> 3
#15 (generic function with 1 method)

无参匿名函数可以“延迟”计算,做这个用处时,代码被封装进无参函数,以后可以通过把它命名为 f() 来引入

原文地址:https://www.cnblogs.com/sch01ar/p/9507427.html