タオルケット体操

サツバツいんたーねっとでゲームとかガジェットのレビューとかをします

PythonによるOptional再考 Swiftの?. とか

Sponsored link

ツイッタアーで多言語使いになることのメリット的なものをつぶやいたりやかなかったりしてたら、以下のツイートあたりから、やっぱ型システムありき言語ほどじゃなくてもRubyPythonでOptionalなものをどうにかする方法欲しいよねみたいな気持ちが再燃した。

ゆるふわな感じで、Object#tryほど見た目を汚さずにOptionalな値を扱える仕組み…… ということでGroovyとかSwift?.(セーフナビゲーション)が動的型とも相性がいいんじゃあないか? みたいな感じのあれをおもった。

@joker1007 氏によるRubyのアレ https://gist.github.com/joker1007/ca7861b3990195f1663a

これみて、やっぱPythonメソッドに記号とか使えないのつらみがあるなとおもった。まぁ記号が使えないおかげで読みやすいコードが生まれるのはあるんだけど、でも?は使わせてほしい。

アンスコを経由させることで、Guardable(None)._.upper()._.replace('H', 'n')みたいなメソッド呼び出しが出来る。
._.この顔文字が、なんとなく失敗しそうなそういうショボンとした感じを醸し出しているので実際可読性も高いですね。

やっぱみんなnull的なものの扱いには苦労するんだなぁとかおもいましたまる。