LoginSignup
3
4

More than 5 years have passed since last update.

swiftでif let let let な時のインデントの話

Posted at

Optionalな値をまとめて剥ぎとりたり場合は、カンマでletをつづけてかけるらしい。

if let ... ,
    let ... ,
    let ... ,
    let ... { ... }
else { ... }

ひとつでも nil があれば else を実行するらしい。

インデントがずれて微妙だとおもってたのだけど、ifの後のスペースを二つにすると、ちょっとだけ良い感じになることに気づいた。

if  let ... ,
    let ... ,
    let ... ,
    let ... { ... }
else { ... }

具体例もあげとこう。

func letletlet(x: Int?, y: Int?, z: Int?) -> Int? {
    if  let xx = x,
        let yy = y,
        let zz = z {
            return xx + yy + zz
    } else {
        return nil
    }
}

letletlet(1, 2, 3)   // => 6
letletlet(1, nil, 2) // => nil

どっちにしろ、ifの中が微妙な気がするね。

3
4
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4