ここにnewとruby: 私は2つのクラス(クラスFriend、クラスLists)と名前と年齢を持つcsv-Fileを持っています。私がcsv-Fileを読むと、ファイル全体から新しいリストオブジェクトを作成し、ファイルのすべての行から新しいfriends-objectを作成したいと考えています。オブジェクト割り当て用の変数を反復する
私の問題: これらのフレンドオブジェクトを変数に割り当てる必要がありますが、変数を反復処理する方法はわかりません。
出力に友人をしようとrequire_relativeここに友人の
class List
attr_accessor :list_name
attr_accessor :how_many
def initialize(list_name)
@list_name = list_name
@list = []
end
def add_friend(a_friend)
@list.push(a_friend)
end
def load_friend(from_file)
File.readlines(from_file).each do |line|
add_friend(Friend.from_csv(line))
end
end
end
require_relative 'list'
class Friend
attr_accessor :friend_name
attr_accessor :age
def initialize(friend_name,age)
@friend_name = friend_name
@age = age
end
def self.from_csv(string)
friend_name, age = string.split(',')
Friend.new(friend_name,age)
end
end
はイム:
#-------------------------
def value(place)
@list[place].to_s
end
def print_list
puts @liste.to_s
end
#-------------------------
puts liste1.print_list
puts liste1.wert(1)
#-------------------------
#Output
\#<Friend:0x2b94aa8 @friend_name="Hans", @age="25\n">
\#<Friend:0x2b94a30 @friend_name="Peter", @age="20\n">
\#<Friend:0x2b949a0 @friend_name="Simon", @age="30">
\#<Friend:0x2b94a30 @friend_name="Peter", @age="20\n">
#Expected output
"Hans", 25
"Peter", 20
"Simon",30
"Peter", 20
「私は変数にこれらの友人・オブジェクトのそれぞれを割り当てたい」 - なぜあなたは別の変数として、あなたがそれらを必要とすると思いますか? –
おそらくダンプするかもしれませんが、リスト配列を出したいと思ったとき、彼は私にオブジェクトIDを与えていました。それは変数に私は値を印刷することができます。 – Alassar
FriendのオブジェクトIDはそれぞれのfriendオブジェクトがそれ自身の参照を持つ一意のオブジェクトであるためです。 'class friend 'に' to_s'メソッドを追加してみませんか?これは、あなたがオブジェクトリストを覗き見ることができるようになります。ダンプのようなことをするには、あなたの 'list'の友人を反復してデータをダンプするメソッドを実装する必要があります。 – kiddorails