サイログ。

~雑多な記事置き場~

初めて知る構造体の奥深さ

今日、Rubyのリファレンスマニュアルを見てみたら、構造体って、配列参照と同じ
ことできるんですね。知らんかった。
そのとき、[]の中にはいるのは、プロパティと同じ名前のシンボル、もしくは、
インデックス(整数)が入ると。
たとえば、

Size = Struct.new(:x, :y)

という構造体があるとすると、

@s1 = Size.new(100, 200)
@s2 = [100, 200]

@s1[0] == @s2[0] # -> true

が成り立つというわけですね。
つまり、構造体と配列でダックタイピングができるわけだ。
なるほどー。いや、奥が深い。

Miyako 1.4.6では、SpriteAnimationの一部パラメータ(:move_offset)も、
配列とSize構造体とのダックタイピングに対応させます(実は、もう対応させました)。