《scala编程》第7章 内建的控制结构

《scala编程》第7章 内建的控制结构_第1张图片
love scala

Scala 的内建的控制循环结构之所以少是因为函数字面量function literals的引入。不采取添加更高级的循环而是采用libraries 的形式。
Scala所有控制结构都是会返回某种值,这是functional languages 的策咯。

programs are viewed as computing a value, thus the components of a program should also compute values.程序是被用来计算出某个值的,因此程序的各个组成部分也应该是用来计算某个值的。

Scala中if`` for try match 都是采用三元操作符 ternary operator model,即他们都有返回值
7.1 if

  • This code is slightly shorter(精简)
  • It tells readers of the code that the variable will never change, saving them from scanning all code in the variable’s scope to see if it ever changes.


    《scala编程》第7章 内建的控制结构_第2张图片
    if

    7.2 while
    这种语法结构返回的类型是Unit, 单元值(unit value) 符号是 () 。除了这两个,下面两个也是Unit


    《scala编程》第7章 内建的控制结构_第3张图片
    Unit
《scala编程》第7章 内建的控制结构_第4张图片
while

7.3 for表达式

  • Iteration through collections

  • Filtering
    《scala编程》第7章 内建的控制结构_第5张图片
  • Nested iteration
    《scala编程》第7章 内建的控制结构_第6张图片
  • Mid-stream variable bindings
    《scala编程》第7章 内建的控制结构_第7张图片
  • Producing a new collection
    《scala编程》第7章 内建的控制结构_第8张图片
  • Throwing exceptions
    《scala编程》第7章 内建的控制结构_第9张图片
  • Catching exceptions
    《scala编程》第7章 内建的控制结构_第10张图片
  • The finally clause
    《scala编程》第7章 内建的控制结构_第11张图片
  • Yielding a value
    《scala编程》第7章 内建的控制结构_第12张图片
    g

    7.5 match
    《scala编程》第7章 内建的控制结构_第13张图片

    7.6 不用continue 和break
    《scala编程》第7章 内建的控制结构_第14张图片

    7.7 作用域
    Scala 最常见的例子是花括号一般都会引入新的作用域,一次任何在花括号定义的变量都会在右花括号之后离开作用域
    Scala 中内嵌作用域中的变量会遮挡外部作用域中相同名称的变量,因为外部作用域同名变量在内嵌作用域中将变得不可见。

    7.8 打印乘法表格
    《scala编程》第7章 内建的控制结构_第15张图片
    指令式

    《scala编程》第7章 内建的控制结构_第16张图片
    函数式

你可能感兴趣的:(《scala编程》第7章 内建的控制结构)