Ruby CSV,如何将两个变量和一个数组写入同一行?
嘿,伙计们,我正在写一个ruby程序,它读取CSV格式的食物和食谱数据库,然后将其写回文件。我在正确写入CSV文件时遇到问题 我想将对象属性写入CSV文件Ruby CSV,如何将两个变量和一个数组写入同一行?,ruby,csv,file-io,Ruby,Csv,File Io,嘿,伙计们,我正在写一个ruby程序,它读取CSV格式的食物和食谱数据库,然后将其写回文件。我在正确写入CSV文件时遇到问题 我想将对象属性写入CSV文件 csv_text = CSV.open("FoodDB1.txt","w") do |i| @@dataList.each do |j| if j.get_type == "b" i << [j.name,j.get_type,j.cal] elsif j.get_t
csv_text = CSV.open("FoodDB1.txt","w") do |i|
@@dataList.each do |j|
if j.get_type == "b"
i << [j.name,j.get_type,j.cal]
elsif j.get_type == "r"
i << [j.name,j.get_type,j.print_bFood]
end
end
end
我希望它看起来像这样
"PB&J Sandwich,r,Jelly,Peanut butter,Bread slice, Bread slice"
有什么办法可以帮上忙吗。我一直在寻找这样做的方法,但我再也想不到什么了
我的一个想法是,如果我有能力只添加到一行,我可以遍历bFood数组并将每个数组添加到该行,但我还没有找到任何可以做到这一点的功能。如果我读对了,你应该只需要
i << [j.name, j.get_type, j.bFood].flatten
我啊,非常感谢你!我不明白为什么我找不到这个。现在我知道了如何展平一个数组,我刚刚制作了一个新的数组,它只包含了基本的食物对象名称,并将其写入cvs,效果非常好。谢谢
"PB&J Sandwich,r,Jelly,Peanut butter,Bread slice, Bread slice"
i << [j.name, j.get_type, j.bFood].flatten