下記のコードをループでオブジェクトにデータを追加したい
と考えているのですがうまくいきません。
class Person
attr_accessor :name
attr_accessor :sex
def initialize(name, sex)
self.name = name
self.sex = sex
end
end
myname=["toshi","joh","ANN"]
mysex=["M","F","F"]
#----ここの部分をループで処理したい----
people=[Person.new(myname[0], mysex[0]),
Person.new(myname[1], mysex[1]),
Person.new(myname[2], mysex[2]),]
#----ここまで-------------
people.each do |f|
puts "私の名前は"+f.name+"です"
if f.sex=="M"
puts "男です"
else
puts "女です"
end
end
上記では 私の名前はtoshiです 男です 私の名前はjohです 女です 私の名前はANNです 女です で出力されますが、ループにしようとするとうまくいきません。 -------------例------ people = [ for for i in 0..myname.length do Person.new(myname[i], mysex[i]), end ] ----------- ではエラーがでて動きません。 ループではオブジェクトにデータを追加する方法についてご指導頂きたくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。