當properties.keySet包含不在EXPECTED_IMPORT_KEYS中的鍵時,此代碼將引發異常。 VAL在代碼中被引用三次,如何消除此Scala分配/測試/拋出序列中的val重複
val unexpectedKeys = properties.keySet -- EXPECTED_IMPORT_KEYS
if (unexpectedKeys.nonEmpty) {
throw new UnexpectedKeysException(unexpectedKeys)
}
在Scala中是否有一些更優雅的方法來實現這一點?我特別想到重複的val引用。這些重複可以消除嗎?
它可能有助於知道在代碼完成後不需要意外鍵值。
我期待的改進是從val發生的次數減少三次。沒有必要有一個val,這只是我的初始表述。
「匹配」確實發生在我身上,但我無法改進這裏提供的例子,其中提到了三次殘差。 – 2013-03-11 23:05:38
一旦命名它,一次檢查它是否爲空,並且一次拋出它......我懷疑你會做得更好。 – 2013-03-11 23:06:47
我會說改善至少是沒有不必要的'val'(unexpectedKeys)定義的事實。值'residual'僅在匹配範圍內定義。 – 2013-03-15 19:58:17