if let intensity = intensity {} else {}
は繰り返しです。この繰り返しコードを置き換える関数をどのように作成すればよいですか?または私は他のどんなツールを使うことができますか?以下の特定の例で反復コードを取り除く関数を作成するにはどうすればよいですか?
これは初めてです。どんな助けもありがたい。
func process(filters: [String], intensity: Int? = nil) {
for filter in filters {
switch filter {
case "blue":
if let intensity = intensity {
self.blue(value: intensity)
} else {
self.blue()
}
case "contrast":
if let intensity = intensity {
self.contrast(value: intensity)
} else {
self.contrast()
}
case "blackAndWhite":
if let intensity = intensity {
self.blackAndWhite(value: intensity)
} else {
self.blackAndWhite()
}
case "halfBrightness":
if let intensity = intensity {
self.halfBrightness(value: intensity)
} else {
self.halfBrightness()
}
case "doubleBrightness":
if let intensity = intensity {
self.doubleBrightness(value: intensity)
} else {
self.doubleBrightness()
}
default:
print("The filter you specified doesn't exist.")
}
}
}