Ruby中的生成器模式与YAML
我现在在项目中有一个Builder模式的实例。目前,支持的输出格式是CSV,但我现在想要包含YAML。很简单,我想。我有所有支持代码来进行类型更改。
我发现自己有点复杂。使用Builder模式的目的是逐步构造输出文件。对我来说,这似乎与YAML直接矛盾 - 将所有对象都放入一个数组中并调用YAML :: dump()。
好消息是我确实有一系列这些对象。它被传递给Director。
这是Director的construct()方法的片段。
def construct(aDataAccessObjectCollection)
@daos = aDataAccessObjectCollection
result = ''
@daos.each do |dao|
@builder.build_food_name(dao.get_property('name'))
@builder.build_calories(dao.get_property('calories'))
@builder.build_keywords(dao.get_property('keywords'))
result += (@builder.get_result + "n")
@builder.flush
end
File.open(@file_name, 'w') do |file|
file.write(result)
end
end
我不知道如何适应CSV和YAML格式。有任何想法吗?
没有找到相关结果
已邀请:
1 个回复
凄嘛姥