@lucastexが Java Elvis 演算子について投稿したので、同じ効果を得るために Scala で何かを試しました。
?:演算子が引数と同じ型のオブジェクトを取ることで、すべてを新しい構造型に変換しました。だから、言って:
implicit def toRockStar[B](v : B) = new {
def ?:(opt: => B) = if (v == null) opt else v}
val name: String = "Paulo" // example
なぜname ?: "Lucas"取得"Lucas"してname.?:{"Lucas"}取得するのPauloですか?新しい構造型は、 nullでない場合、つまり"Paulo"上記のコードの場合、すべての初期値を返すことになっています。
私は少し混乱しています。説明はありますか?