所以,也许我把一些不那么难的事情复杂化了,但是就这样吧。
在 Ruby 中,有一种称为 .each 的循环方法。我认为这很酷——但我发现不太酷的是关于它之后的管道(或任何其他 Ruby 中的 do-type 循环,看起来)的东西的数量。有时管道中只有一件事:
basket.each do |fruit|
puts "This is a #{fruit}.\n"
end
但有时,这个管道中有两件事,就像这样:
contacts.each do |name, profession|
puts "#{name} is a #{profession}.\n"
end
所以我现在想知道的是,该管道中是否有可能有两个以上的项目?就像我有一个巨大的、又大又丑的多暗阵列?
如果我将东西添加到我的管道并且它们不存在怎么办?它会在管道中给出零值吗?还是会抛出错误?
再说一次,对不起,如果这对长期的 Ruby 爱好者来说是显而易见的,但我来自严格类型变量的领域,我现在也离开 PHP 领域。:)
编辑
那么,如果我有这样的事情怎么办:
categories = [["Bathroom", "Bathroom Fixtures", "Plumbing"],
["Ceiling Fixtures", "Chandeliers", "Flush Mounts", "Mini Chandeliers", "Semi-Flush Mounts", "Pendants", "Track Lighting", "Mini Pendants", "Directional", "Island/Pool Table", "Recessed Lighting"],
["Outdoor", "Exterior", "Landscape Lighting"],
["Fans", "Fans", "Fan Accessories"],
["Lamps", "Lamps", "Shades"],
["Wall Fixtures", "Sconces", "Foyer/Hall Lanterns"],
["Specialty", "Undercabinet", "Light Bulbs", "Lighting Controls", "Glass", "Specialty Items", "Utility"],
["Home Decor", "Decor/Home Accents", "Furniture"]]
我可以这样循环吗?
categories.each do |category, subcats|
puts "The main category is #{category} and the sub categories are: "
subcats.each do |subcat|
puts "#{subcat}, "
end
end