Python コードを書いていて文字列前後の空白を削除する必要があった。
うっかり trim() と書いたんですけど、こんな例外が。
教えてくれてありがとう、Python では strip() でしたね。
いやぁ筆者を含めて Javascript と混同する人が多いんだろうな。
てかいつのまにこんな親切な例外表示になったんだ?
What’s New In Python 3.10 ? Python 3.10.4 ドキュメント
特に記述は無いけど Better error messages の一つかな。
そんなこんなで上記ページを初めて見たんですけど。
あら Python にもとうとう switch 文が、いや match ですけど。
と思ったんですけど何か変。
break いらないの?
#!/usr/bin/gjs function func(num) { switch(num) { case 1: print('one'); //break; case 1: print('once again'); //break; default: print('default!'); } } func(1); /* output one once again default! */
switch 文だとこうなる、C 言語等も同様。
#!/usr/bin/env python3 def func(num): match num: case 1: print('one') case 1: print('nce again') case _: print('default!') func(1) ''' output one '''
なるほど、だから switch ではなく match か。
というかコレ if-elif-else の別表記でしかないんだな。
以上とか未満みたいな case はできないみたいだし使い所は微妙。
読みやすくなるかわりに階層が深くなるデメリットも。
でも一番問題なのは。。。。。
Gedit や gnome-text-editor で現状では強調表示されないことかも。
# Gedit /usr/share/gtksourceview-4/language-specs/python3.lang # gnome-text-editor /usr/share/gtksourceview-5/language-specs/python3.lang
に自分で追記すればイケるはず、必要ならばだけど。
4 が GTK3 で 5 が GTK4 なのよ、バージョンがややこしくなったもんだ。