我有2个选项变量,想要在1st为None或空字符串时将第2个分配给第1个。写这个有更好的方法吗?我需要为类中的其他10个类似属性执行这些操作。
var myoption1: Option[String]
var myoption2: Option[String]
import org.apache.commons.lang3.StringUtils
implicit class Addons(val s: String) {
def isEmptyS = StringUtils.isEmpty(s)
def isNotEmpty = StringUtils.isNotEmpty(s)
}
if (myoption1.map(_.isEmpty).getOrElse(true) &&
myoption2.map(_.isNotEmpty).getOrElse(false)
) myoption1 = myoption2
答案 0 :(得分:3)
如果您不关心2中的哪个空字符串将在func playSound {
var soundID: SystemSoundID = 0
let soundURL = CFBundleCopyResourceURL(CFBundleGetMainBundle(), "myFileName", "mp3", nil)
AudioServicesCreateSystemSoundID(soundURL, &soundID)
AudioServicesPlaySystemSound(soundID)
}
中结束,如果它们都为空,那么我建议:
myoption1