06/03/06 (Mon)3月6日の雑記
■ [Ruby/RGSS]

ちょっとネタ切れ感の漂う中、今日自分がためになったと思うテクニックをご紹介。
a = [0, 1, 2, 3, 4] b = [5, 6, 7, 8, 9] c = [10, 11, 12, 13, 14] case rand(15) when *a print "aにマッチ" when *b print "bにマッチ" when *c print "cにマッチ" end
こうすると、たくさんの配列に対してcaseが使えます。
Glory浄化運動をやっていて、色々いじっているうちに見つけました。
(まあ、この例ならわざわざこんなことしなくてもいい訳ですが)
ちなみに * は、配列を展開してばらばらにするという働きがあります。
つまり上のスクリプトのcaseの部分は、
case rand(15) when 0, 1, 2, 3, 4 print "aにマッチ" when 5, 6, 7, 8, 9 print "bにマッチ" when 10, 11, 12, 13, 14 print "cにマッチ" end
として解釈されるのです。
あまり使う機会はないかな。
■ [Das Heutige Deutsch]

- der Fall (ファル)
- 落下、場合、ケース
- wenn (ヴェン)
- ~するときに、もし~ならば
- wann (ヴァン)
- いつ
コメントを書く