模式在变量定义中
在定义val或者var的时候,可以使用模式替代简单的标识符,如可以使用模式拆分元组,并把每个值分配给变量
val myTuple = (123,"abc")
var (num,str) = myTuple
如此,num=123,str="abc"
如果知道正在使用的样本类的精确结构,可以使用模式结构它
val op = BinOp("+",Number(1.0),Var(x));
val BinOp(ele1,ele2,ele3) =op
如此 ele1="+", ele2 = Number(1.0), ele3 = "abc"
用作偏函数的样本序列
暂时省略,后补。
for表达式里的模式
val resules = List(Some("apple"),None,Some("Orange")) for(Some(a)<-resules) //模式可能产生无法匹配产生的值 println(a)
结果
apple
Orange
结果里没有None,因为无法匹配。