scala 16模板匹配和偏函式

2021-10-08 05:38:17 字數 1178 閱讀 1951

偏函式scala支援多種匹配模式

//定義乙個陣列

val arr=

array

("hadoop"

,"zookeeper"

,"spark"

,"storm")/

/隨機取陣列中的一位,使用random.nextint

valname

= arr(random.nextint(arr.length))

println(

name

)name match

}# 輸出(結果隨機)

zookeeper

大資料分布式協調服務框架...

/

/todo:匹配型別

//定義乙個陣列

val arr=

array

("hello",1

,-2.0,casedemo02)

//隨機獲取陣列中的元素

val value=arr(random.nextint(arr.length))

println(value)

value match

}# 輸出(結果隨機)

/

/匹配陣列

//匹配陣列

val arr=

array(1

,3,5

)//判斷數字個數

arr match

}# 輸出3-

--5

/

/匹配集合

val list=list(0,

3,6)

list match

}# 輸出

0....

/

/匹配元組

val tuple=(1

,3,5

) tuple match

}# 輸出1,

3,5

示例

object testpartialfunction 

def main(args:

array[string])

: unit =

println(result)

}

scala中的部分應用函式和偏函式的區別

本人總結如下 偏函式是只對函式定義域的乙個子集進行定義的函式。scala中用scala.partialfunction t,s 類來表示 比如定義了乙個函式 def sum x int y int x y,當呼叫sum的時候,如果不提供所有的引數或某些引數還未知時,比如sum sum 3 int s...

scala中的部分應用函式和偏函式的區別

偏函式是只對函式定義域的乙個子集進行定義的函式。scala中用scala.partialfunction t,s 類來表示 比如定義了乙個函式 def sum x int y int x y,當呼叫sum的時候,如果不提供所有的引數或某些引數還未知時,比如sum sum 3 int sum int ...

scala中的部分應用函式和偏函式的區別

這裡做個簡單的總結 以下的討論基於 scala 2.8 下面這個變數signal引用了乙個偏函式 val signal partialfunction int,int 這個signal所引用的函式除了0值外,對所有整數都定義了相應的操作。signal 0 會丟擲異常,因此使用前最好先signal.i...