初めての Ruby
クラスを作ってみた!
おお!typo もしなかったし、ヨサゲだ:)
initialize はなくていいらしい
class Human end amachang = Human.new p amachang
#<Human:0x100f69d8>
コンストラクタ!
なんなくオッケー!
class Human def initialize p 'ogya-!(ubugoe)' end end amachang = Human.new
"ogya-!(ubugoe)"
プロパティ!(フィールド?)Ruby ではなんていうの?(後記:インスタンス変数という)
でも、どうやってインスタンスの外からインスタンス変数にアクセスするんだろう??
class Human def initialize(name) @name = name; end def say_name p @name end end amachang = Human.new('amachang') amachang.say_name
"amachang"
こうすると?・・・・nilなんだ!
class Human def initialize(name) @name = name; end def say_name p @name end end amachang = Human.allocate amachang.say_name
nil
うーん。まだまだ気になる点が・・・
仮引数と実引数が合わない場合は?・・・・エラー!?まじですか
class Human def initialize(name) @name = name; end def say_name p @name end end amachang = Human.new amachang.say_name
-:9:in `initialize': wrong number of arguments (0 for 1) (ArgumentError) from -:9
こうするのか・・・でも、なんで else には then がないんだ!?
class Human def initialize(*name) if(name[0]) then @name = name[0]; else @name = 'no name' end end def say_name p @name end end amachang = Human.new amachang.say_name
"no name"