過去には以下の様なsample1でwhere節を利用してネストがせずに実行できた様なのですが、現在playgroundで実行しようとするとExpected ',' joining parts of a multi-clause condition
とエラーが発生します。
現在はオプショナルバインディングでのwhere句自体が認められて否のでしょうか?
DocumentationsのBasicsの通り、sample2の様な形でカンマ区切りでかつletも全てのオプショナルバインディングで付与することで実行できることは確認できております。
「オプショナルバインディング where節 廃止」等で検索してもそれらしい情報が見つからなかったため、ご存知の方がいればよろしくお願いいたします。(もし仕様変更等の情報はここを見ればすぐわかるよ、という様なアプローチがあればとても有り難いです)
vba
1//sample1 2if let firstNumber = Int("4"), secondNumber = Int("42") where firstNumber < secondNumber { 3 print("(firstNumber) < (secondNumber)") 4}else{ 5 print("error") 6} 7
vba
1//sample2 2if let firstNumber = Int("4"), let secondNumber = Int("42"), firstNumber < secondNumber && secondNumber < 100 { 3 print("(firstNumber) < (secondNumber) < 100") 4} 5// Prints "4 < 42 < 100"
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/29 14:04
2021/01/29 14:09