匿名函数

前一节末尾的f(x, y) 函数也可写作匿名函数的形式: (x, y) -> x^3 – y + x * y 。此外我们也可将此匿名函数取一个名字f = (x, y) -> x^3 – y + x * y,而调用形式跟f(x, y) 一样,如f(3, 2)。匿名函数通常也如下这般定义:

function (x)
    x + 2
end
(anonymous function)
julia> ans(3)
5

此外也还可写成lambda 表达式的形式 (x) -> x + 2 ,箭头-> 前面是参数,后面是返回值。前面定义也可简化成x -> x + 2, 无参的函数应写成() -> println("hello, Julia")

如后是三个参数的匿名函数(x, y, z) -> 3x + 2y - z.。如果出于性能考虑,最好不用匿名函数。因为匿名函数会带来巨大的额外计算开销。匿名函数,多数情况是被当作参数传递,后续章节也会做详细介绍。

results matching ""

    No results matching ""