`
zhaomengsen
  • 浏览: 202701 次
  • 性别: Icon_minigender_1
  • 来自: 河北
社区版块
存档分类
最新评论

Scala匿名函数

 
阅读更多
Scala中提供相对轻便的语法定义匿名函数。在源代码中的匿名函数被调用函数文本,并在运行时,函数文本被实例化为调用的函数值的对象。

Scala支持一流的功能,这意味着可以表达功能文本语法功能,即,(x: Int) => x + 1,函数都可以通过对象,这是所谓的函数值来表示。下面的表达式创建一个后继函数的整数:

var inc = (x:Int) => x+1
变量inc现在可以使用以通常的方式的函数:

var x = inc(7)-1
另外,也可以用多个参数定义的函数如下:

var mul = (x: Int, y: Int) => x*y
变量mul现在可以使用以通常的方式的函数:

println(mul(3, 4))
另外,也可以用无参数定义函数如下:

var userDir = () => { System.getProperty("user.dir") }
变量userDir现在可以使用以通常的方式的函数:

println( userDir )
分享到:
评论

相关推荐

    Scala函数式编

    在Scala中,匿名函数就是闭包的一个例子,它可以访问定义它的作用域内的变量。 函数式数据结构 Scala提供了许多不可变的数据结构,如List、Set、Map等,它们遵循函数式编程的原则,即在创建后不能被修改。这些数据...

    spark源码之scala基础语法demo

    scala是一种基于JVM的面向对象的函数编程,scala编程相对于...2:函数式编程,柯里化函数,匿名函数,高阶函数等。 3:代码行简单。 4:支持并发控制,Actor Model机制 5:目前比较流行的kafka,spark均由scala开发。

    Scala-2.11.1.zip

    3. **函数式编程**:Scala是函数式编程的强大平台,它提供了高阶函数、匿名函数、柯里化、尾递归优化等功能。函数在Scala中被视为一等公民,可以作为参数传递,也可以作为返回值。 4. **集合库**:Scala的集合库是...

    scala-2.12.6.tgz

    它的语法简洁,支持高阶函数、模式匹配、匿名函数、类型推断等特性,使得代码更加简洁和易于理解。 2. 版本2.12.x: Scala的版本号通常以主版本号.次版本号.修订号的形式表示。2.12.x系列是Scala的一个主要分支,...

    scala高级特性

    匿名函数是在 Scala 中,你不需要给每一个函数命名,没有将函数赋给变量的函数叫做匿名函数。由于 Scala 可以自动推断出参数的类型,所有可以写的跟精简一些。例如: ```scala val f = _ * 2 ``` 将方法转换成函数 ...

    最好的scala学习 课件

    最后,"Scala进阶之路-part05-高级语法.pdf"将探讨Scala的一些高级特性,如类型推断、高阶函数、匿名函数、 currying、偏函数、类型系统(如类型别名、类型参数和类型成员)以及元编程。这部分内容将提升你的编程...

    scala 文档

    同时,Scala还有匿名函数(lambda表达式),如`(x: Int) => x + 1`,这在处理函数式接口时非常方便。 Scala的模式匹配是另一大亮点。通过case语句,我们可以对不同数据结构进行解构和分析,这对于处理复杂的数据和...

    深入理解Scala函数式编程过程

    在深入理解Scala函数式编程过程中,我们需要关注几个核心概念,包括函数、高阶函数、递归和匿名函数。 首先,函数是Scala中的基本构建块。在示例中,`cube`、`id`、`square`和`fact`都是定义的函数,它们分别实现了...

    Scala By Example

    5. **匿名函数与柯里化**:Scala支持匿名函数,即没有名字的函数,通常用于简洁地表示简单的操作。柯里化(Currying)是一种将接受多个参数的函数转换为一系列接受单个参数的函数的技术,增强了函数的组合性。 6. *...

    Scala Overview

    9. 闭包和匿名函数:Scala中的闭包是第一类的,这意味着它们可以被赋值、作为参数传递和存储。匿名函数可以方便地用lambda语法创建,简化了函数式编程。 10.模式匹配:Scala提供了强大的模式匹配功能,用于解构对象...

    scala编程入门教材

    函数使用`def`关键字定义,支持高阶函数和匿名函数(lambda表达式)。 4. **集合框架**:Scala的集合库非常强大,包含了列表、数组、映射(Map)、集(Set)等多种数据结构。它们支持函数式编程操作,如map、filter...

    Scala(中文完整版).zip

    函数定义可以使用匿名函数和高阶函数,类和对象通过case class和trait实现。 **2. 面向对象编程** Scala的面向对象特性包括类、继承、封装和多态。类通过`class`关键字定义,可以有构造器、方法和属性。继承使用`...

    scala-2.10.7版本源码

    10. 特性实现:源码中还可以看到许多Scala的特色特性,如特质继承、匿名函数、自定义操作符、宏(Macro)和反射的实现。 通过深入研究Scala-2.10.7的源码,开发者不仅可以提升对Scala语言的理解,还能学习到软件...

    Scala编程实战基础教程

    例如,你可以定义一个类,创建对象,同时利用匿名函数进行计算。了解这些基本语法将使你能够编写出简洁而富有表达力的代码。 其次,Scala的类型系统是其强大之处。它支持静态类型,同时具备类型推断,使得代码更易...

    scala design patterns源书代码

    5. 建造者模式(Builder Pattern):建造者模式用于构建复杂的对象,Scala中的匿名函数和高阶函数可以作为构建过程的一部分,使得构建过程更加模块化和可读。 6. 组合模式(Composite Pattern):在Scala中,递归...

    Scala基础与实践

    函数可以是具名的,也可以是匿名的,如(x:Int) => 2*x就是一个匿名函数,将输入的整数乘以2。 3. 条件表达式和循环表达式:Scala中的条件表达式使用if进行,循环表达式支持for循环,但Scala没有break和continue...

    Scala实战.docx

    Scala支持匿名函数和高阶函数,这些特性使其非常适合函数式编程。 #### 总结 Scala作为一种融合了面向对象与函数式编程的现代化语言,在大数据处理、Web开发等多个领域展现出巨大的潜力。通过本文档的学习,读者...

    Scala Cookbook

    9. **Lambda表达式和匿名函数**:Scala支持函数作为一等公民,书中的内容会涵盖如何使用lambda表达式简化代码。 10. **宏和元编程**:Scala的宏机制允许在编译时进行代码生成和优化,元编程概念的介绍将帮助开发者...

Global site tag (gtag.js) - Google Analytics