iOSエンジニアのつぶやき

毎朝8:30に iOS 関連の技術について1つぶやいています。まれに釣りについてつぶやく可能性があります。

【Kotlin】複数の変数をアンラップする

結論

Swiftだとguardがあるので、下記のようにオプショナル値をアンラップできます。

        guard let a = optionalA, let b = optionalB, let c = optionalC else {
            return
        }

Kotlinの場合は、下記のようなメソッドを作ることで、Swiftguard let else的なことを再現できるそうです✍️

fun <T1, T2, T3> safe(t1: T1?, t2: T2?, t3: T3?): Triple<T1, T2, T3>? {
    return if (t1 == null || t2 == null || t3 == null) null else Triple(t1, t2, t3)
}
        var optionalA: Int? = 3
        var optionalB: Int? = 3
        var optionalC: Int? = 3
        val (
            a,
            b,
            c
        ) = safe(optionalA, optionalB, optionalC) ?: return

てな感じで本日も以上となります🍺

参考

qiita.com

その他の記事

yamato8010.hatenablog.com

yamato8010.hatenablog.com

yamato8010.hatenablog.com