Scala讲座:将函数作为第一类对象来处理

开发 后端
本文继续Scala讲座的第二部分内容,即将函数作为第一类对象来处理问题,希望大家喜欢。

之前,我们学习了Scala全局变量问题的解决,下面我们继续Scala讲座,解决如何将函数作为***类对象来处理。

将函数作为***类对象

在函数式语言中,可以对函数像值或对象实例一样进行绑定在变量上或者作为参数来传递的操作。最近的语言,即使不是函数式语言,也可以用闭包方式来实现这些功能。

以下是将函数绑定在multiply名称上,将函数赋给变量的示例。

  1. scala> val multiply = (x:Int) => x * 2 
  2. multiply: (Int) => Int =  
将3传递给函数multiply返回6。

  1. scala> multiply(3)  
  2. res1: Int = 6 
下例中将multiply函数作为参数传递给别的函数。将函数muliply作为***个参数,7作为第二个参数传递给函数applyFunction,得到的返回值是14。

  1. def applyFunction(f:(Int => Int), num:Int):Int = {  
  2. f(num)  
  3. }  
  4. scala> applyFunction(multiply, 7)  
  5. res2: Int = 14 
好了,讲解完Scala函数与***类对象,Scala讲座中旧的知识的复习就到这里了,接下来让我们体验一下正真的函数式编程。

【编辑推荐】

  1. 万物皆对象:介绍Scala对象
  2. Scala的泛型:***大的特性
  3. Scala的Trait:可以包含代码的接口
  4. Scala的模式匹配和条件类
  5. Scala类:复数类,无参方法,继承和覆盖
责任编辑:book05 来源: JavaEye博客
相关推荐

2009-07-21 17:29:25

Scala第一类函数

2010-01-19 09:50:54

Java 7闭包

2009-12-11 10:42:00

Scala讲座类定义构造函数

2009-09-27 15:23:00

Scala讲座函数式编程Scala

2009-09-27 15:29:00

Scala讲座面向对象Scala

2009-12-11 10:44:00

Scala讲座函数 scala

2009-09-24 09:41:00

Scala讲座Scala

2009-12-11 10:43:00

Scala讲座操作符函数

2009-06-22 14:26:12

ScalaXML对象

2010-03-11 10:34:22

Scala

2009-12-11 10:45:00

Scala讲座类型系统功能

2009-06-17 11:58:19

Linux

2010-02-02 10:33:51

Python

2009-09-24 09:28:00

Scala讲座全局变量scala

2009-07-08 13:31:23

调用Servlet处理

2009-12-11 10:43:00

Scala讲座混入多重继承类型层次

2009-06-16 17:09:17

Scala面向对象函数编程

2009-12-30 15:37:14

ADO处理

2015-05-27 10:21:55

光纤光通信

2009-07-08 16:10:24

Scala简介面向对象函数式
点赞
收藏

51CTO技术栈公众号