創建基於條件的元組我有下面的類:如何在斯卡拉
case class Person(
firstName: String = "",
lastName: String = "",
age: Int = 1,
ssnr: Int = 1
)
我想創建的元組,其中包括firstName
和/或lastName
只有當它們的值是不是空的。
當然,我可以做到以下幾點:
if (!person.firstName.isEmpty && !person.lastName.isEmpty) ("firstname" -> person.firstName, "lastName" -> person.lastName, "age" -> person.age, "ssnr" -> person.ssnr)
但是,這將事情,因爲我要檢查一些情況下,如果firstName
爲空或lastName
是空的,包括或複雜排除他們在這些特定的前提條件(我也有比這兩個更多的屬性)。
有沒有更好的方法比if/else條件來處理?
你將如何使用結果? – talex
我會用'def withQueryString(參數:(String,String)*):WSRequest'中的參數。包括或排除它們取決於值是否爲非空值。 –
我認爲你可以在伴侶對象中使用更強大的類型或者一些可重用的函數,並且可以做到這一點。根據你對這些代碼的使用等等,你所擁有的是非常可讀和清晰的,所以一方面它可能是一些需要再次考慮取決於許多外部因素。 – Barry