`

学习scala笔记--21 scala 闭包

 
阅读更多

 

 

闭包

可以理解为 下面 的 factor  被处理为 函数对象的实例变量  

 

 

scala> def mulBy(factor :Double) = (x:Double) => factor * x

mulBy: (factor: Double)Double => Double

 

scala> val triple = mulBy(3)

triple: Double => Double = $$Lambda$1226/259746718@3ceb8e1f

 

scala> val half = mulBy(0.5)

half: Double => Double = $$Lambda$1226/259746718@2e4c4373

 

scala> triple(1)

res20: Double = 3.0

 

scala> half(4)

res21: Double = 2.0

 

分享到:
评论

相关推荐

    Scala-学习资料-mht.rar

    在"Scala-学习资料-mht.rar"这个压缩包中,包含了关于Scala的学习资料,格式为MHT(单一文件网页),这种格式通常用于保存完整的网页内容,包括文本、图像和样式表。 首先,我们来了解一下Scala的基础知识。Scala这...

    scala学习笔记整理

    在"scala学习笔记整理"中,我们可以深入探讨以下关键知识点: 1. **基础语法**:Scala的基础语法与Java有相似之处,但也有很多独特的特点。例如,它支持变量的不可变性(immutability),使用`val`声明常量,`var`...

    学习scala好的项目

    在"scala-study"这个文件夹中,可能包含的子文件有练习代码、笔记、教程文档等,这些都是学习过程中的宝贵资料。通过这些资源,初学者可以逐步了解如何使用Scala编写Spark程序,包括如何创建SparkSession、加载数据...

    scala学习资料

    2. 函数式编程:Scala是函数式编程语言,支持高阶函数、不可变数据结构和闭包。通过函数式编程,可以编写出更简洁、无副作用的代码,易于测试和维护。 3. 类型系统:Scala具有强大的静态类型系统,可以防止运行时...

    scala笔记:学习scala时的笔记

    以下是一些在学习Scala时可能会遇到的关键知识点: 1. **基本语法与类型系统**: - Scala是强类型语言,变量声明时必须指定类型,但可以使用类型推断简化编写。 - `val`用于声明不可变变量,`var`用于声明可变...

    尚硅谷_韩顺平_Scala语言核心编程_PDF密码解除1

    然而,Scala的语法和特性比Java更为高级和抽象,它可以更好地利用多核处理器,支持闭包和高阶函数等特性。 4. **Scala语言的特点**: - **类型推断**:Scala允许编译器自动推断变量的类型,减少冗余代码。 - **...

    scala-impatient-notes

    《Scala 急救手册笔记》 Scala是一种多范式的编程语言,它融合了面向对象和函数式编程的特点,被广泛应用于大数据处理、并发系统以及现代软件开发中。本笔记主要基于《Scala Impatient》这本书,旨在帮助读者快速...

    Scala-notes:小号

    "Scala-notes:小号"这个标题可能指的是一个关于学习Scala的资料集合,其中包含了笔记和作业,帮助学习者深入理解和实践Scala编程。 在描述中提到的"Scala音符"可能是一个比喻,暗示着通过学习这个资料,你可以掌握...

    SCALA从入门到精通个人笔记含代码

    目录如下 Scala简介&快速入门 基础语法 变量 数据类型 流程控制 操作符重载 模式匹配 函数式编程基础 函数式编程说明 函数定义/声明 ... 闭包closure 柯里化函数 控制抽象 递归高级 Akka 介绍

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

    学习Scala,你需要理解其静态类型的特性、模式匹配、 Actors模型以及类型系统,包括高阶函数、特质(traits)和不可变数据结构。 Groovy是另一种基于JVM的动态编程语言,它的语法简洁,易于阅读和编写。Groovy与...

    Scala笔记Markdown版本(至集合章节)

    总结,本Scala笔记Markdown版本涵盖了从语言基础到集合操作的重要内容,适合初学者入门和有经验的开发者巩固知识。通过学习,开发者将能够掌握Scala的核心特性和编程技巧,从而更好地利用Scala进行后端开发。

    Spark-Core学习知识笔记整理

    Spark-Core文档是本人经三年总结笔记汇总而来,对于自我学习Spark核心基础知识非常方便,资料中例举完善,内容丰富。具体目录如下: 目录 第一章 Spark简介与计算模型 3 1 What is Spark 3 2 Spark简介 3 3 Spark...

    MyScalaStep:一步步记录我学习scala

    闭包和柯里化(currying)也是Scala函数式编程的重要特性,它们让代码更加简洁和可复用。 类型系统是Scala的另一个重要方面。Scala支持静态类型,但它的类型推断机制使得代码更易读。类型系统还包括类型别名、抽象...

    functional-programming-scala:在Coursera上的Scala专业化中的函数式编程工作已完成

    **标题与描述解析** ...综上所述,这个压缩包文件可能包含了学习者在Coursera上完成Scala函数式编程课程时积累的所有材料,包括代码示例、笔记、项目文件等,这些都是进一步学习和复习函数式编程概念的重要资源。

    scala_learn

    在"scala_learn-master"这个目录下,你可能会找到一系列的Scala教程文件,如`.scala`源代码文件、笔记文档、练习案例等,通过这些资源可以深入学习并实践上述知识点。此外,可能还会有对特定话题如并发、网络编程或...

    DALC_Scala

    4. **函数式编程**:Scala 的函数式特性,如不可变数据、柯里化、高阶函数和闭包,是其独特之处。理解并运用这些概念可以提高代码的简洁性和可维护性。 5. ** Actors模型**:Scala 提供了内置的 Actor 模型来支持...

    超全大数据面试宝典-大数据面试有这套就够了.pdf

    - **Scala相关总结**:介绍Scala中的元组、隐式转换、函数式编程、样例类、柯里化、闭包以及Option的使用,Scala是大数据处理中重要的编程语言之一。 以上便是“超全大数据面试宝典-大数据面试有这套就够了.pdf”...

    CodeurEnSeine2014:塞纳河上的演示文稿

    2. 函数式编程:学习如何使用Scala实现函数式编程,包括纯函数、不可变数据结构、柯里化、闭包等。 3. SBT构建工具:掌握SBT的配置文件(build.sbt)编写,了解如何定义项目依赖、任务和插件。 4. Maven和Gradle对比...

Global site tag (gtag.js) - Google Analytics