どういうことかと言うと、以下のように finally節に continue があると、Python 3.7 まではコンパイルエラーが発生していました。
while True: try: pass finally: continue SyntaxError: 'continue' not supported inside 'finally' clause普通に考えれば、continue により while まで戻るのが当然です。が、実装上の都合として、コンパイルエラーが起こっていました。随分淡白な対応なように思います。また、break や return は finally節の中でも動作するわけで、continue のみコンパイルエラーというのは意外過ぎる対応であると言えます。
Python 3.8 からは、finally節の中の continue が許可されるようになりました。言語として、少し改善されたのではと思います。
0 件のコメント:
コメントを投稿