为了账号安全,请及时绑定邮箱和手机立即绑定

Scala程序设计—基础篇

辰方 其它
难度初级
时长 2小时13分
学习人数
综合评分9.63
93人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.5 逻辑清晰
  • Idea: ``` object HelloWorld { def hello(name:String) = { s"Hello, ${name}" } def add(x:Int,y:Int) = x+y def main(args: Array[String]) { println(hello("lizhy")) println(add(1,2)) } } ```
    查看全部
  • 三种变量修饰符 - val 定义 immutable variable(常量) - var 定义 mutable variable(变量) - lazy val (定义惰性求值的常量) _*可以不显示指定变量的类型,因为Scala会自动进行类型推导_ --- String - 构建于Java的String之上 - 新增了字符串插值(interpolation)的特性 ```scala val myname = "lizhy" \\ creating a String s"My name is ${myname}" \\ String interpolation ``` 在scala语言中,所有的事物都是对象
    查看全部
    2 采集 收起 来源:Scala数据类型

    2018-03-22

  • - JDK 1.8 - Scala 2.12.2 - IntelliJ IDEA with Scala plugin --- SBT——Simple Build Tool(http://www.scala-sbt.org/) REPL——Read Evaluate Print Loop
    查看全部
    0 采集 收起 来源:scala环境搭建

    2017-07-20

  • ### 函数式编程:只用纯函数来编写程序 > [函数式编程(英语:functional programming)或称函数程序设计,又称泛函编程,是一种编程范型,它将电脑运算视为数学上的函数计算,并且避免使用程序状态以及易变对象。函数编程语言最重要的基础是λ演算(lambda calculus)。而且λ演算的函数可以接受函数当作输入(引数)和输出(传出值)。][https://zh.wikipedia.org/wiki/%E5%87%BD%E6%95%B8%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80] ### 函数式编程的重要概念 - 纯函数(Pure Function),或函数的纯粹性(Purity) 没用副作用(Side Effect),副作用是状态的变化(mutation) - 修改全局变量 - 抛出异常 - IO读写 - 调用有副作用的函数 - 引用透明(Referential Transparency),对于相同的输入,总是得到相同的输出 如果f(x)的参数x和函数体都是引用透明的,那么函数f是纯函数 - 不变性(Immutability),为了获得引用透明性,任何值都不能变化 - 函数是一等公民(First-class Function) 一切都是计算,函数式编程中只有表达式,变量、函数都是表达式 - 高阶函数(Higher order Function) - 闭包(Closure) - 表达式求值策略:严格求值 和 非严格求值 Call By Value vs. Call By Name - 惰性求值(Lazy Evaluation) - 递归函数(Recursive Function) 递归实现循环 - 尾递归(Tail Recursion) ### 函数式编程的优点 1. 生产效率高:同样功能的程序,Lisp代码长度可能是C代码的 $1/7$ ~ $1/10$ 2. 易于推理 3. 并行编程 4. 多核计算、云计算 ### 函数式编程的崛起 - 摩尔定律失效 - 多核处理器(单核时代迈向多核时代) - 云计算时代
    查看全部
  • 1. Scala - Scalable 编程语言 - 纯正的面向对象语言 - 函数式语言 - 无缝的Java互操作 2. 课程介绍 - 函数式编程思想 - scala开发环境 - scala语言基础 - 类型和求值策略 - 高阶函数 - scala Immutable Collection
    查看全部
    0 采集 收起 来源:课程介绍

    2017-07-20

  • 变量 三中变量修饰符 val 定义常量 var 定义变量 lazy val 定义惰性常量 *可以不显示指定变量的烈性,因为scala会自动进行类型推导
    查看全部
  • http://scala-ide.org
    查看全部
    0 采集 收起 来源:scala环境搭建

    2017-07-12

  • http://www.scala-sbt.org/
    查看全部
    0 采集 收起 来源:scala环境搭建

    2017-07-12

  • http://www.scala-lang.org/download/
    查看全部
    0 采集 收起 来源:scala环境搭建

    2017-07-12

  • http://www.oracle.com/technetwork/java/javase/downloads/index.html
    查看全部
    0 采集 收起 来源:scala环境搭建

    2017-07-12

  • 柯里化定义
    查看全部
    0 采集 收起 来源:Scala 柯里化

    2017-07-12

  • 求值策略示例
    查看全部
    0 采集 收起 来源:求值策略

    2017-07-12

  • 求值策略划分
    查看全部
    0 采集 收起 来源:求值策略

    2017-07-12

  • 函数式编程: 用纯函数编写程序; 函数式编程的重要概念:纯函数(Pure Function),或函数的纯粹性(Purity),没有副作用(Side Effect)。 副作用是状态的变化(mutation):例子:修改全局变量,抛出异常,IO读写,调用有副作用的函数。 引用透明(Referential Transparency):对于相同的输入,总是得到相同的输出。 如果f(x)的参数x和函数体都是引用透明的,那么函数f是纯函数。 不变性(Immutability)为了获得引用透明性,任何值都不能变化。 函数是一等公民(First-class Function):一切都是计算,函数式编程中只有表达式,变量、函数都是表达式。 高阶函数(Higher order Function) 闭包(Closure) 表达式求值策略:严格求值 和 非严格求值 Call By Value vs. Call By Name 惰性求值(Lazy Evaluation):定义表达式不会立即求值,用到后才会求值。 递归函数,函数式编程没有循环,循环由递归实现。调优递归:尾递归。
    查看全部
  • nothing 是异常
    查看全部
    0 采集 收起 来源:Scala数据类型

    2017-06-29

举报

0/150
提交
取消
课程须知
本课程是Scala的基础教程,虽然对学员的基础不做要求,但是学员最好有一门编程语言的经验,这样会更容易理解课程里的一些概念。
老师告诉你能学到什么?
1、函数式编程的基本概念 2、Scala的开发环境 3、高阶函数 4、表达式求值策略 5、Scala Immutable Collection简介

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!