質問: 120.1 => 120.1 irb(main):009:0> img['width'] => 120 ``` 解説いただけると嬉しいです。 また、こうすれば自力で調べられるようになるよ!というものがあれば、それを教えて頂けるともっと嬉しいです。 どうぞよろしくお願いいたします。
回答: rubyの変数には型はありません。どのclassのインスタンスでも代入できますし、そのあと別のclassのインスタンスを代入し直すことも可能です。 配列やHashは必要ならいくらでもサイズが大きくなります。 という意味でなら rubyでは箱がない(勝手に箱のサイズが変わる) は正しいです。 でも、classそのものは型があります。Integerのclassには整数しか入りません。 で、 t.integer "width", null: false と定義された width は rubyの変数(は言いすぎかも)であると同時に、Databaseのカラム(との仲立ち)でもあります。databaseはrubyではないので、型があります。 ですのでActiveRecodeが型を合わせて代入してくれています。