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

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.

主站蜘蛛池模板: 奉化市| 泸定县| 博野县| 当雄县| 新巴尔虎右旗| 交口县| 神木县| 故城县| 汽车| 庆安县| 四子王旗| 全南县| 丽水市| 微山县| 错那县| 阿拉尔市| 文登市| 阳信县| 祁门县| 西平县| 武平县| 铁力市| 伊宁市| 衡阳县| 堆龙德庆县| 屯门区| 拜城县| 略阳县| 杨浦区| 宕昌县| 万源市| 诸暨市| 泾川县| 长宁区| 恩平市| 邯郸市| 普格县| 浙江省| 若尔盖县| 镇赉县| 应城市|