我正在尝试为不耐烦的 Scala解决以下问题。问题如下:
使用模式匹配,编写一个函数 swap 交换数组的前两个元素,前提是它的长度至少为两个。
我的解决方案是:
def swap(sArr:Array[Int]) = sArr.splitAt(2) match {
case (Array(x,y),Array(z)) => Array(y,x,z)
case (Array(x,y),Array()) => Array(y,x)
case _ => sArr
}
我的问题是第一个案例陈述。我认为它会进行模式匹配,(Array(1,2),Array(3))
而我打算将其模式匹配(Array(1,2),Array(3,4,5.....))
有人可以指出这怎么可能。
谢谢