你好 ruby 社区我有一个问题(初学者):我有一个具有(例如)3个属性的类,我想将类的属性转换为一个数组,所以我可以将它们存储到我的 csv 文件中
class Human
attr_accessor :name,:Lname,:id
....
end
当我创建:
human1=Human.new("nice","human",1)
我需要一个返回 ["nice","human",1] 的函数
是否有一个我没有找到的预定义,或者我必须重新定义 to_a 才能完成工作
注意:该类有超过 3 个属性
谢谢你的回答
我需要一个返回 ["nice","human",1] 的函数
创建这样的方法是微不足道的。如果它专门用于 CSV,我会相应地命名它,例如:
class Human
attr_accessor :name, :lname, :id
# ...
def to_csv
[name, lname, id]
end
end
要生成 CSV:
require 'csv'
human1 = Human.new("nice", "human", 1)
csv_string = CSV.generate do |csv|
csv << ['name', 'lname', 'id']
csv << human1.to_csv
end
puts csv_string
# name,lname,id
# nice,human,1
注意我在上面的例子中重命名Lname
为。lname
大写是为常量保留的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句