官术网_书友最值得收藏!

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 mostly used when passing a function as an argument to another function, which is precisely what we will discuss in the next section.

主站蜘蛛池模板: 汕头市| 晴隆县| 大同市| 承德市| 鲜城| 陆良县| 双辽市| 石棉县| 沁源县| 新泰市| 轮台县| 庐江县| 西畴县| 大厂| 灵川县| 吉木乃县| 双鸭山市| 巩义市| 定安县| 达日县| 虹口区| 都江堰市| 贵溪市| 新邵县| 永泰县| 杨浦区| 潞城市| 连山| 贡觉县| 昭觉县| 桑日县| 禹城市| 盱眙县| 平遥县| 错那县| 淮南市| 荆州市| 孟津县| 东乌珠穆沁旗| 武邑县| 芒康县|