2016/10/28(金) [n年前の日記]
#2 [prog][neta] ある範囲に数値を収めるソレ
変数が持ってる数値を、ある範囲内に収めたい時、今までこういう書き方をしてたのですけど。
分かりやすいからコレはコレで、とは思うものの、なんだかダサいよなと。もっと短く書けないものか。
と思ってたら、以下のような書き方を見かけて。
なるほど…。4行が1行で済むのだな…。
でも、分かりやすさがちょっと落ちるし、関数だかメソッドだかを2回呼ぶのもどうなの、という気も。ソースの見た目は短くなっても、内部処理的にはむしろ長くなってないか。
まあ、どっちでもいいか…。
if a < 0: a = 0 if a > 100: a = 100
分かりやすいからコレはコレで、とは思うものの、なんだかダサいよなと。もっと短く書けないものか。
と思ってたら、以下のような書き方を見かけて。
a = max(0, min(a, 3200))
なるほど…。4行が1行で済むのだな…。
でも、分かりやすさがちょっと落ちるし、関数だかメソッドだかを2回呼ぶのもどうなの、という気も。ソースの見た目は短くなっても、内部処理的にはむしろ長くなってないか。
まあ、どっちでもいいか…。
[ ツッコむ ]
以上です。