オブジェクト指向基礎レベル
次のプログラムを実行すると何が表示されますか?
class Sample puts "A" end puts "B"
- 1A のみ
- 2B のみ
- 3A のあとに B
- 4B のあとに A
解説
Rubyではクラス定義の中のコードも、その場で実行されます。class Sample ... end が評価される際に puts "A" が実行され、その後に puts "B" が実行されるため、表示順は A → B です。
「クラス定義は宣言だけで実行はされない」と誤解しやすいですが、Rubyでは class キーワードもコードを上から順に実行するだけです。この性質は prob-031 のような複雑なパターンの理解にも繋がります。