2016-04-05 :-(
_ 出たい人
ううむ。この each 連発というのがダサいというかもっとこうエレガントに ruby っぽくならないもんか。
require 'pp'
class Item
attr_accessor :key, :value
def initialize(key, value)
@key = key
@value = value
end
end
class MCData
attr_accessor :title, :items
def initialize(title, items)
@title = title
@items = items
end
end
def findbytitle(list, title)
list.each {|mc|
if mc.title == title
return mc.items
end
}
end
def findbyitem(list, itemkey)
list.each {|mc|
mc.items.each {|i|
if i.key == itemkey
return i.value
end
}
}
end
def main(argv)
item_a ||= []
item_a << Item.new( :a, 1 )
item_a << Item.new( :b, 2 )
item_a << Item.new( :c, 3 )
item_b ||= []
item_b << Item.new( :d, 4 )
item_b << Item.new( :e, 5 )
item_b << Item.new( :f, 6 )
datalist ||= []
datalist << MCData.new( "A", item_a )
datalist << MCData.new( "B", item_b )
pp datalist
pp findbytitle( datalist, "A" )
pp findbyitem( datalist, :a )
end
main(ARGV)
[ツッコミを入れる]



