我有两个问题。
1)我需要创建一个动态结构,其成员通过数组驱动。例如:
members = [:a, :b]
Config = Struct.new(members) #=> Struct.new(:a, :b)
FlatConfig = Struct.new(members) #=> Struct.new(:a, :b)
config = Config.new()
flat = FlatConfig.new()
几天后,如果我需要向这些结构添加另一个成员,那么我需要做的就是在该成员数组中添加一个成员(memebers = [:a,:b,:c]),我不需要进一步加强代码。所以我问这个。如何做到这一点?
2) 现在我需要通过对配置结构成员值进行一些操作来构建平面结构成员的值。例如:
config.each{|configMember|
result = configMember.collect{|c| someArray.collect{|s| s + '--' + y}}
flat[":#{cofigMember}"] = result #=> Intent is to store result in same member as iterated through config struct.
}
如何实现(1)和(2)?
提前致谢。