- 171 名前:デフォルトの名無しさん mailto:sage [2021/08/28(土) 14:07:01.17 ID:WeXzUgff.net]
- >>166
なるほど そこでの議論を読むと一番の肝が、 「for式が()を返さないと、最後がfor式で終わる関数の返り値で互換性が無くなる」 というところにあるようですが 「break;」が()を返すことにすれば特に問題ないように見えます 実際にloop式で値なしのbreakだと()を返しています つまり ・「for/while/loop式が返す型」は「break式の型」とする ・「値指定のない『break;』の型」は()とする ・「break式がない場合の型」も()とする ここまでは現状と同じになりますね 問題はfor/while式はbreakせずともループを抜けるので、値を返すには、 ・「『break 値;』があるfor/while式」は「else節を取ってbreak式と同じ型を返す」 という単純ルールだけで済むように見えます 何か見落としがあるでしょうか?
|

|