// 正則匹配
val pattern = "([0-9]+) ([a-z]+)".r;
"741258933 hadoop" match
輸出結果:
741258933:hadoop
def match_array(arr:any) = arr match
match_array(array(0))
match_array(array(0,1))
match_array(array(0,1,2,3,4,5))
match_array(array("one","two","three"))
輸出結果:
array:0
array:x=0,y=1
array:...
somethingelse
scala
的case class
使得對物件進行模式匹配變得非常方便,簡單的來說,
scala
的case class
就是在普通的類定義前加
case
這個關鍵字,然後你可以對這些類來模式匹配。
abstract class person
case class student(age:int) extends person
case class worker(age:int,salary:double) extends person
case object shared extends person
/**
* 1、宣告case class 每個成員都會預設生成val,如age:int
* 2、每個case class 都會有伴生物件,每個伴生物件都會有自己case class的具體物件
*/
object case_class_object
caseops(student(19))
caseops(worker(19,4000))
caseops(shared)
val worker = worker(29,3000);
val worker2 = worker.copy(salary = 5000);
val worker3 = worker.copy(age = 31);
} }
輸出結果:
iam 19 years old
wow,igot 4000.0
noproperty...
case class 和 class的區別
case class 和class的區別 case classcalculator brand string,valmodel string 無需宣告val也可以宣告成員常量 valhp20b newcalculator hp 20b valhp30b calculator hp 30b defca...
關於用case class解析parquet的問題
今天review 的時候發現乙個問題,用case class去解析乙個parquet檔案,parquet檔案的schema如下 id string name string age string string 有四個屬性,按理說應該構造如下case class去解析 case class people...
shell之匹配模式和擴充套件匹配模式
首先說一下什麼是匹配模式,然後再介紹擴充套件匹配模式。匹配模式這個概念就算不知道,但是也都會使用這個功能找到匹配的檔案。例如 ls ab 找到所有以ab開頭的檔案。這就是利用了 可以匹配任意字串,包括空串。匹配模式是man bash中的pattern matching,星號的含義在上面講了。用來匹配...