私はif
/というステートメントは自明ではありません。私はそれぞれを明確な説明名で独自の関数に抽出し、それらの関数を連鎖させたいと思います。Scalaのリファクタリング(if/elsif/elsif)チェーン?
コールチェーンの途中でスカラを停止するにはどうすればよいですか?ここで
コードの例です:
// actual code
for(klass <- program.classes) {
if (complicated boolean) { //checkVars
error1
} else if (complicated boolean) { //checkMethods
error2
} else if (...) { //...
error3
} else {
complicated good case code
}
}
// wanted
for(klass <- program.classes) {
(checkName
andThen checkVars
andThen checkMethods
andThen addToContext) (klass)
// where the chaining stops if a check fails
}
エラーの場合の対処方法は?例外を投げたり、何かを印刷したりして、エラーオブジェクトを出力したいのですか? –
print something –