Ruby の #choice にふさわしい名前
話題の #choice について。
同じ choice でも Python の場合、狙ったのかどうなのか random.choice(ary) という表現になるのでかっこいいのですが、Ruby の場合は ary.choice となってしまい、ランダムに〜というニュアンスがなんとなーく欠けている感じがしてどうにも座りが悪いように思います。
そんなわけで、Squeak Smalltalk ファンとしては、どーせ変えるなら #atRandom を模した #at_rand を推したいところ。
#(グー チョキ パー) atRandom
[:グー, :チョキ, :パー].at_rand
ところで、ふと疑問をもったので調べてみると、#atRandom というのはブルーブック(つまり XEROX Smalltalk-80)にはないようです。いかにも…な機能なのに不思議です。
Apple Smalltalk 0.3 にも見あたらないので、どうやら Apple Smalltalk 0.4 か Squeak Smalltalk になってから追加された機能みたいですね(Squeak1.1 にはすでにあります。あと、どなたか Apple Smalltalk 0.4 ください…汗)。
ちなみに、Squeak Smalltalk では Ruby の Kernel#rand にあたる機能を使いたいときも、配列からのランダムチョイスと同じ atRandom というメッセージを使って Integer>>#atRandom をコールします。
10.atRandom