-
def?curriedAdd(a:Int)(b:Int)?=?a?+?b curriedAdd(2)(2) val?addOne?=?curriedAdd(1)_ addOne(2)
查看全部 -
在Scala里面,函數是第一等公民。
查看全部 -
隨堂筆記--
查看全部 -
val?result_try?=?try?{ ????Integer.parseInt("dog") ????}?catch?{ ????????case?_?=>?0 ????}?finally?{ ????????println("always?be?printed") ????} ???? val?code?=?1 val?result_match?=?code?match?{ ????case?1?=>?"one" ????case?2?=>?"two" ????case?_?=>?"others" }
查看全部 -
object?worksheet{ ????val?l?=?List("aaaa",?"bbb",?"cccc") ???? ????for?( ????????s?<-?l ????????)?println(s) ???????? ????for?{ ????????s?<-?l? ????????if?(s.length?>?3) ????????}?println(s) ???????? ????val?result_for?=?for?{ ????????s?<-?l ????????s1?=?s.toUpperCase() ????????if?(s1?!=?"") ????????}?yield(s1) }
查看全部 -
object?func_examples?{ ????def?hello(name:String):?String={ ????????s"Hello,?${name}" ????} ???? ????hello("xx") ???? ????def?hello2(name:String)?=?{ ????????s"Hello,?${name}" ????} ???? ????hello2("yy") ???? ????def?add(x:Int,?y:Int)?=?x+y ???? ????add(1,2) } //隨堂筆記
查看全部 -
map 參數 指的是對每個元素, 執行, 并又返回值
查看全部 -
Scala中的String跟Java中的相同。
新增了字符串插值interpolation的特性。
查看全部 -
對于一個函數,如果返回值是Nothing,那么就是有異常出現。
查看全部 -
Any是Scala所有類的父類。
Any下有兩個子類,一個是AnyVal,另一個是AnyRef。
Unit相當于Java中的void,往往作為函數的返回類型。
所有引用的java類型都是AnyRef的子類,所有自定義的scala類也都是AnyRef的子類。
Null是引用類型的最后一個子類,Nothing是所有類型的最后一個子類
查看全部 -
scala爸爸
查看全部 -
三種變量修飾符:
val 定義immutable variable (定義常量)
被val定義的變量的值不能更改
var 定義mutable variable(變量)
lazy val
lazy val 定義的變量不會第一時間賦值 ,求值,會在他第一次被用到的時候進行賦值或者求值。通常用于程序中不一定用到的變量。
查看全部 -
scala是構建于JVM之上的,可以跟Java進行互操作。
也就是說可以直接調用java包,或者在java中調用scala程序。
查看全部 -
Tuple(元組):
定義2個字段的元組? (1,2) 或? 1 ->2
訪問元組中的元素: z._1 (z元組的第一分量)
Map[K,V]:
定義Map?? val? p = Map(1? ->? "David",9 ? ->"Lili")
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Map(1 -> David, 9 -> Lili)?
p(1)?????? David?? 取p Map 的值
p.contains(1)?? 判斷key在不在? p Map中
p.keys?? 取所有key
p.values? 取所有value
p + ( k -> v)? 添加值
p -? k??? 刪除值
p? ++ List(k -> v ,k -> v)? 添加多個值
p? --? List(k,k)? 減去多個值
查看全部 -
Range(整數序列):
生成Range
1 to 10???? Range(1,2,3,4,5,6,7,8,9,10)
1 to 10? by 2??? Range(1,3,5,7,9)
1 until 10? Range(1,2,3,4,5,6,7,8,9)
Stream(惰性求值列表):
列表的第一個值確定,其他值在使用時才會計算
1? #::? 2 #:: 3 #::? Stream.empty ? ? ? ? ? ? ?? Stream(1,? ?)
val? stream = (1? to? 1000000).toStream???? Stream(1, ?)
.head? 第一個值
.tail???? 第一個值后面的所有值
查看全部
舉報