1. ホーム
  2. swift

[解決済み] Swiftのインライン条件?

2023-03-26 09:12:25

質問

Swiftでこれを行うにはどうしたらよいでしょうか?

(someboolexpression ? "Return value 1" : "Return value 2")

(いや、まだマニュアルを全部読んでいないのですが...たぶん2ページ目で見落としています!)

OK、それは91ページで、上記は正しいようです。 しかし、私はこれを次のような文字列で使おうとしています。

println(" some string \(some expression ? "Return value 1" : "Return value 2")"

を実行するのですが、コンパイラは満足しません。 これが可能であるかどうか、何かアイデアはありますか?

これは私が得ることができたのと同じくらい近いものです。

let exists = "exists"
let doesnotexist= "does not exist"

println("  something \(fileExists ? exists : doesnotexist)")

どのように解決するのですか?

もし、ワンライナーでできることを探しているのであれば、このメソッドから ?: の操作を文字列補間から取り出して、連結して + で連結します。

let fileExists = false // for example
println("something " + (fileExists ? "exists" : "does not exist"))

出力します。

存在しない