`
zhaomengsen
  • 浏览: 198509 次
  • 性别: 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 )
分享到:
评论

相关推荐

    spark源码之scala基础语法demo

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

    scala学习手册.zip

    Scala也是一种函数式...Scala提供了轻量级的语法用以定义匿名函数,支持高阶函数,允许嵌套多层函数,并支持柯里化 。Scala的Case Class及其内置的模式匹配相当于函数式编程语言中常用的代数类型(Algebraic Type)。

    Functional Programming Patterns in Scala and Clojure

    所有迹象都显示,诞生50多年后,函数式编程却焕发了青春,越来越受到关注和青睐,从边缘地带步入了主流,除了Scala和Clojure这些新生函数式编程语言大行其道之外,Java等老牌面向对象的编程语言也开始支持匿名函数。...

    Scala程序设计(第2版)

    6.2.1 匿名函数、Lambda与闭包 152 6.2.2 内部与外部的纯粹性 154 6.3 递归 154 6.4 尾部调用和尾部调用优化 155 6.5 偏应用函数与偏函数 157 6.6 Curry化与函数的其他转换 158 6.7 函数式编程的...

    lighty:ES5 的匿名函数组合器

    lighty:ES5 的匿名函数组合器基于 ES5 并受 Scala 的启发,lighty 旨在为在 JavaScript 中创建匿名函数提供舒适的语法。例子ex 1:拆分一个字符串,然后修剪每个字符串,然后过滤非空字符串。 在 vanilla ES5 中是...

    spark从入门到实战

    第1章:SCALA编程(一) 1.大数据分析框架概要、Spark课程学习计划及建议 2.为什么学习SCALA语言及SCALA语言...14.匿名函数定义与使用 15.高阶函数定义与使用 16.深入高阶函数的使用 。。。。。。。。。。。。。。

    jscala:Scala宏,可从Scala代码生成JavaScript

    命名和匿名函数 Scala数组/ Seq作为JavaScript数组文字 Scala Map和匿名类作为JavaScript对象 如果,同时,for..in和for语句 Scala if作为表达式(例如val a = if(true)1 else 2) Scala匹配作为JavaScript开关 ...

    Scala 2:Scala 2编译器和标准库-开源

    Scala用一种简洁的高级语言将面向对象和函数式编程结合在一起。 Scala的静态类型有助于避免复杂应用程序中... 在Scala中,函数是值,可以使用简洁的语法将其定义为匿名函数。 在Scala中,案例类用于表示结构数据类型。

    scala从入门到精通技术教学视频

    08.匿名内部类 09.动物类案例 第八章 特质 00.导学 01.类继承单个特质 02.类继承多个特质 03.单例对象继承特质 04.演示trait中的成员 05.动态混入trait 06.使用trait实现适配器设计模式 07.使用trait实现...

    快学 scala 中文版 带完整目录

    12.2 匿名函数 177 12.3 带函数参数的函数 178 12.4 参数(类型)推断 179 12.5 一些有用的高阶函数 180 12.6 闭包 181 12.7 SAM转换 182 12.8 柯里化 183 12.9 控制抽象 185 12.10 return表达式 186 练习 ...

    scalas-underscore:将Scala的_函数简短语法的魔力带入Javascript

    Scalas下划线表示匿名函数的语法关于该库从Scala的短语法(用于创建匿名函数JavaScript)中提取了一些语法上的糖。 这些函数通常用于映射列表和数组。 该库使用ES2015(ES6)中的实验功能Symbols and Proxies。 由于...

    Scala、Groovy++、Stackless Python、Erlang 学习笔记及分享

    NULL 博文链接:https://xiajs.iteye.com/blog/1871551

    Scala 2:Scala 2 编译器和标准库-开源

    Scala 在一种简洁的高级语言中结合了面向对象和函数式编程。 Scala 的静态类型有助于避免复杂应用程序中... 在 Scala 中,函数是值,可以定义为具有简洁语法的匿名函数。 在 Scala 中,case 类用于表示结构化数据类型。

    λ表达式之争:Scala vs Java8

    在JVM中没有匿名函数或Lambda表达式的概念。JVM知道是字节码。字节码是一个严格的OO规范。由语言的创造者和编译者通过这些限制来创建新的、高级的语言元素。  我们第一次遇到Lambda表达式是需要在Takipi中增加对...

    Scala 闭包

    如下面这段匿名的函数: val multiplier = (i:Int) => i * 10 函数体内有一个变量 i,它作为函数的一个参数。如下面的另一段代码: val multiplier = (i:Int) => i * factor 在 multiplier 中有两个变量:i 和 ...

    10函数的定义使用

    1.函数声明 函数一般是写在方法体内部的 val 函数名 = (参数列表) => {函数体} 2.方法和函数的区别 在scala中函数作为参数的形式传递到...匿名函数: //一般在方法中函数传递时使用。 val arr = Array(1,2,3,4,5)

    Scala基础(9) 针对集合的操作

    list.foreach(elem => println(elem)) // 这是一个匿名函数 (elem:Int) => println(elem) 映射的遍历 for((k,v) Xiamen University, THU->Tsinghua University) // 循环遍历映射 for ((k, v) println(k + +v)

    java异常笔试题-scage:用Scala编写的游戏引擎

    与参与者类似,这些任务是匿名函数,您可以在运行时在应用程序的任何范围内添加和删除它们。 它都是单线程的,所以你不必弄乱消息。 适用于任何类型的 2D opengl 基元的庞大绘图库。 从 ttf 文件加载和使用字体...

    java8源码-some-boot-func:第一个github项目~

    java8 源码 Java8笔记 ...​ Lambda可以理解为一种匿名函数:它没有名称,但有参数列表、函数主体、返回类型,可能还有一个可以抛出的异常的列表。 Lambda在何处使用 ​ 必须在函数式接口上使用 ​ 函数式

Global site tag (gtag.js) - Google Analytics