MyT*_*tle 1 scala pattern-matching
我如何将模式匹配应用于此代码?所以它看起来像功能风格的代码:
def getIndex(i: Int): Option[Int] = {
if (check0(i) == Some) {
check0(i)
}
else if (check1(i) == Some) {
check1(i)
}
else if (check2(i) == Some) {
check2(i)
}
else if (check3(i) == Some) {
check3(i)
}
else {
None
}
}
Run Code Online (Sandbox Code Playgroud)
方法check0, check1, check2, check3全部返回Option[Int]
不是模式匹配,但应该做的诀窍:
checkTop(clickedIndex) orElse
checkBottom(clickedIndex) orElse
checkLeft(clickedIndex) orElse
checkRight(clickedIndex)
Run Code Online (Sandbox Code Playgroud)
orElse是为Option定义的方法.定义选项时,它会返回一个选项本身,否则会尝试替代选项.