1
我正在通過在Scala中進行函數式編程的Coursera課程,並遇到似乎與該語言的描述不同的行爲。根據模式匹配的演講,第二println
語句的輸出應該false
而非true
在以下斯卡拉電子表格:爲什麼不在`Scala中使用`arg :: tail`匹配列表模式?
object MatchTest {
def test(char: Char, list: List[Char]): Boolean = list match {
case char :: tail => true
case _ => false
} //> test: (char: Char, list: List[Char])Boolean
println(test('a', "ab".toList)) //> true
println(test('b', "ab".toList)) //> true
}
爲什麼在char :: tail
而不是第二個測試賽上_
匹配嗎?