learning scala control statement

1 .if satement

与其它语言不同的是,scala if statement 返回的是一个值

scala> val a = if ( 6 > 0 ) 1 else -1
a: Int = 1

2. while statement

3. do.. while statement

4 for statement

  for ( 变量 <-  表达式 ) { 语句块};

scala> for ( i <- 1 to 3 ) println(i)
1
2
3

scala> for ( i <- Array(3,4,5) ) println(i)
3
4
5

scala> for ( i <- 1 to 5 if i%2 == 0 ) println(i)
2
4

scala> for ( i <- 2 to 4; j <- 4 to 6 ) println( i * j)
8
10
12
12
15
18
16
20
24

yield 后的语句块中最后一个表达式的值,作为每次循环的返回值,如下所示:

scala> var fortest = for ( i <- 2 to 4; j <- 4 to 6 ) yield println( i * j)
8
10
12
12
15
18
16
20
24
fortest: scala.collection.immutable.IndexedSeq[Unit] = Vector((), (), (), (), (), (), (), (), ())

scala> var fortest = for ( i <- 2 to 4; j <- 4 to 6 ) yield { println( i * j); i*j }
8
10
12
12
15
18
16
20
24
fortest: scala.collection.immutable.IndexedSeq[Int] = Vector(8, 10, 12, 12, 15, 18, 16, 20, 24)

原文地址:https://www.cnblogs.com/lianghong881018/p/10339095.html

时间: 2024-10-29 02:48:11

learning scala control statement的相关文章

【转载】增强学习(Reinforcement Learning and Control)

增强学习(Reinforcement Learning and Control)  [pdf版本]增强学习.pdf 在之前的讨论中,我们总是给定一个样本x,然后给或者不给label y.之后对样本进行拟合.分类.聚类或者降维等操作.然而对于很多序列决策或者控制问题,很难有这么规则的样本.比如,四足机器人的控制问题,刚开始都不知道应该让其动那条腿,在移动过程中,也不知道怎么让机器人自动找到合适的前进方向. 另外如要设计一个下象棋的AI,每走一步实际上也是一个决策过程,虽然对于简单的棋有A*的启发式

Andrew Ng机器学习公开课笔记&ndash;Reinforcement Learning and Control

网易公开课,第16课 notes,12 前面的supervised learning,对于一个指定的x可以明确告诉你,正确的y是什么 但某些sequential decision making问题,比如下棋或直升机自动驾驶 无法确切知道,下一步怎么样是正确的,因为这是一个连续和序列化的决策,比如直到最终直升机crash或下棋输了,你才知道之前的选择是不好的,但中间那么多步决策,到底是哪部分出了问题,可见这是个比较复杂的问题 强化学习,基本思路就是,既然不知道怎样是正确的,那就随便try,然后根据

增强学习(Reinforcement Learning and Control)

增强学习(Reinforcement Learning and Control)  [pdf版本]增强学习.pdf 在之前的讨论中,我们总是给定一个样本x,然后给或者不给label y.之后对样本进行拟合.分类.聚类或者降维等操作.然而对于很多序列决策或者控制问题,很难有这么规则的样本.比如,四足机器人的控制问题,刚开始都不知道应该让其动那条腿,在移动过程中,也不知道怎么让机器人自动找到合适的前进方向. 另外如要设计一个下象棋的AI,每走一步实际上也是一个决策过程,虽然对于简单的棋有A*的启发式

Scala Control Structures

Scala之Control Structures 一.前言 前面学习了Scala的Numbers,接着学习Scala的Control Structures(控制结构). 二.Control Structures Scala中的控制结构与Java中的颇为类似,但也有所不同,例如,if/then/else控制结构与Java的类似,但是其可以返回值,虽然Java中有三元运算符的特殊语法,但是在Scala中使用if就可以达到同样的效果. val x = if (a) y else z 同样,Scala的

[learning scala] collections

object SparkTest005 { def main(args: Array[String]): Unit = { /** * Chapter 5 functions */ def jump(title: String = ""): Unit = print(s"\n ---------${title}----------- \n") val nums = List(1, 3, 4, 5) println(nums.head) print(nums.tail

learning scala read from file

scala读文件:   example: scala> import scala.io.Sourceimport scala.io.Source scala> var inputFile = Source.fromFile("text.txt")inputFile: scala.io.BufferedSource = non-empty iterator scala> for ( line <- inputFile.getLines()) println(lin

learning scala pattern matching 03

code: package com.aura.scala.day01 object patternMatching03 { //当不同类型对象需要调用不同方法时,仅匹配类型的模式非常有用. def goIDLE(device : Device) = device match { case p: Phone => p.screenOff case c:Computer => c.screenSaverOn } } abstract class Device case class Phone(mo

learning scala for comprehensions

code: package com.aura.scala.day01 object forComprehensions { def main(args: Array[String]): Unit = { val userBase = List(User("pan1", 29), User("pan2", 30), User("pan3", 23), User("pan5", 32)) val twentySomethins =

[Learning Scala] Functions

object SparkTest004 { def main(args: Array[String]): Unit = { /** * Chapter 5 functions */ def jump(title: String = ""): Unit = print(s"\n ---------${title}----------- \n") jump("Function Types and Values") def doubleNumbers