我試圖儘可能避免可變變量,但有時它只是感覺太難了,我不想以極其複雜的代碼結束試圖避免斯卡拉mutables ..這是正確的方式?
不過,我發現這種方式來做到這一點,但它肯定感覺就像作弊
我解析查詢,我發現找到一個字段!值,我想將它翻譯爲字段:值,然後繼續處理,所以我出來這個代碼以避免易變,或至少讓他們被限制...
val (operator, negated) = {
var operator = ConditionOperator.toConditionOperator(parsedOperator)
var negated = parsedNegated == "!"
// field!value => field notEqual value
if (negated && operator == ConditionOperator.Unknown) {
negated = false
operator = ConditionOperator.NotEqual
}
(operator, negated)
}
這是正確的方式 去做吧???或者是否有一種更習慣(並且清晰)的方式來實現這種事情?
非常感謝,DHG和蘇亞雷斯克爾都是正確的,我不知道誰是先......順便說一句,我不知道會是什麼在這種情況下會一成不變的好處?幫助編譯器優化整個事情?在多核系統中運行這些代碼的麻煩較少? – opensas