1
私は、次のプログラムを作成し、.RBファイルとして保存なぜRubyスクリプトを実行すると、クラス内のコードが自動的に実行されるのですか?
class Classname
puts "hi"
end
、端末内のファイルを実行するには、出力が「HI」が返されます。なぜか分からない。そのputs文をメソッドに代入したり、Classnameクラスのオブジェクトを作成したり、そのオブジェクトを出力してその出力を取得したりする必要はありませんか?または、少なくともputsステートメントをクラスのinitializeメソッドに入れ、オブジェクトを作成しますか?なぜこれはそれが動作するのでしょうか?
'class'キーワードを使用してクラスを定義すると、新しい' Class'オブジェクトが実際に構築され、そのコンテキスト内で内部コードが実行されます。 http://stackoverflow.com/a/9202363/591495 – oldrinb
クラス内のコードが実行されなかった場合、メソッドをどのように定義しますか?クラス内のコードが実行されなかった場合、 'attr_accessor'メソッドをどのように呼び出すでしょうか?オブジェクトが初期化される前に 'initialize'の定義のクラスが実行されなかった場合、インスタンスをどのように作成しますか?なぜ、あなたが作成するすべてのインスタンスに対して 'initialize'メソッドの定義を何度も何度も何度も実行しなければならないのでしょうか? –