package com.zhuxiaoyu.chapter2
import scala.math.bigint
object chapter2 將多個語句包含
* 如
* val distance =
* 在這個語句塊中最後一句的返回值作為distance的值。在函式定義中也是最後乙個語句作為函式的返回值,無需return
* * 迴圈
* * for(i <- range)//
* until 不包含上線的區間,比to少最後乙個
* for(range; range) //eg: for(i <- 1 to 9 ; j<- 4 to 9)
* 守衛for(i <- 3 to 5; j<- 5 to 9 if i !=j) //不輸出i == j
* for(i <- 0 to 10; from <- 7-i;j <- from to 9)
* 記錄每次for迴圈的值for(range) yield
* *
* scala沒有break或者continue退出迴圈,可用以下方法處理
* 1.使用boolean
* 2.使用巢狀函式-可以從函式中return
* 3.使用breaks物件的break方法
* import scala.util.control.breaks._
* breakable(
* for (i <- 1 until 10) )
* 函式式定義別忘了 =
* 只要函式不是遞迴,就可以不指定返回型別
* eg:
* def ads(x: double) = {}
* * 預設引數和帶名引數
* eg:
* def deo(str:string , left:string = 「[「,right: string = 「]」) =
* left + str + right
* 若函式呼叫為deo(「abc」) 則輸出[abc]
* deo(「」) 則輸出為
* * 變長引數定義
* def deo(str: string*) = {}
* * 沒有返回值的函式稱為過程 其定義可以沒有=
* 即def deo(str: string) {}
* 也可以寫成def deo(str: string): unit = {}
* * lazy值
* 當val被宣告為lazy時,其初始化將被推遲至首次對他取值
* * lazy val words = 「scala」
* * int、string等的公共超類是any
* */
import scala.util.control.breaks._
def main(args: array[string]): unit = )
for (i <- 2 to 7; j <- 1 to 6 if i != j) yield i
/** * 1.
*/def signum(num: int) = else if (num < 0) else
}/**
* 2.型別unit 值: ()
*/val t = {}
print(t)
/** * 3.x為unit時
* * 4.
*/for (i <- 0 to 10 reverse) println(i)
/** * 5.
*/def countdown(n: int)
/** * 6. 8.
*/def unicodeplus(str: string): long =
t}var pp: long = 1
//7.
"hello".foreach(pp *= _.tolong)
}
//9
def product(s: string): long =
//10
def mi(x: double, n: int): double =
}
《快學scala》12章練習答案
最近看了看 快學scala 比較好的點在於這本書每一章後面都有一些練習,可以自己去做一下,對於掌握知識來講還是不錯的 像是以前上學後面的習題一樣 我不知道 有答案,也沒有認真找過,就自己做了做。iteye上有乙個人寫了前幾章的答案,可以參考一下,鏈結為 遺憾的是這個人只寫到第九章,我上面的鏈結也是第...
快學Scala第二章學習筆記
1 如果在repl中貼上成塊的 可以鍵入 paste,把 貼上進去,ctrl d結束 2 在scala中,塊包含一系列的表示式,其結果也是乙個表示式。快中最後乙個表示式的值就是塊的值。這種特性對於那種某個val初始化需要分多步完成的情況很有用。例如 val distance 3 x y 1 別這樣寫...
快學Scala第一章學習筆記
1 按tab鍵可以補全 2 val 宣告常量,var宣告變數 val aaa 5 結果aaa 5 var aaa 5 結果aaa 5 3 一次宣告多個變數 val aaa,bbb 100 結果 aaa 100,bbb 100 4 變數或函式的型別總是寫在變數或函式名稱的後面 var aaa stri...