Anonymous functions
The function f(x, y)
at the end of the Defining functions section can also be written with no name, as an anonymous function:(x, y) -> x^3 - y + x * y
. We can, however, bind it to a name, such as f = (x, y) -> x^3 - y + x * y
, and then call it, for example, as f(3, 2)
. Anonymous functions are also often written using the following syntax (note the space before (x)
):
function (x) x + 2 end(anonymous function)julia> ans(3)5
Often, they are also written with a lambda expression as (x) -> x + 2
. Before the stab character (->
) are the arguments, and after the stab character we have the return value. This can be shortened to x -> x + 2
. A function without arguments would be written as () -> println("hello, Julia")
.
Here is an anonymous function taking three arguments: (x, y, z) -> 3x + 2y - z
. When the performance is important, try to use named functions instead, because calling anonymous functions involves a huge overhead. Anonymous functions are...