如何在ruby中将对象转换为数组

程序员.new

你好 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在JavaScript中将对象{}转换为键值对的数组[]

如何在JavaScript中将对象{}转换为键值对的数组[]

如何在Java中将对象数组转换为字符串数组

如何在JavaScript中将对象数组转换为一个对象?

如何在JavaScript中将对象数组(动态)转换为对象

如何在JavaScript中将对象数组转换为对象?

如何在Dart中将对象转换为数组(地图)?

如何在Lodash中将对象数组转换为对象?

如何在python中将对象数组转换为普通数组

如何在Javascript中将对象数组转换为GraphQL格式?

如何在Javascript中将对象数组转换为关联数组对象

如何在JS中将对象转换为数组列表

如何在PHP中将对象转换为特定格式的数组

如何在Java8中将对象数组转换为用户定义的对象

如何在php中将对象数组转换为键值对

如何在JavaScript中将对象数组转换为数组对象?

如何在mongodb聚合中将对象数组转换为对象

如何在Kotlin中将对象转换为字节数组

如何在JavaScript中将对象数组转换为一个对象?

如何在angularjs中将对象转换为数组

如何在jquery / javascript中将对象转换为数组

在Ruby中将对象数组转换为JSON

如何在Angular中将对象数组转换为数组数组?

如何在AngularJs中将对象转换为对象数组?

如何在Javascript中将对象转换为数组

如何在Symfony 3中将对象数组转换为字符串?

如何在js中将对象数组转换为嵌套对象,反之亦然

如何在dataweave中将对象转换为数组

如何在javascript中将对象数组转换为数组数组