如何使用puts显示多个项目?
How to display multiple items using puts?
我编写了一个带有旅游项目的旅游应用程序,我试图在最后显示订单。
当我使用 puts @order_items
时,两次旅行我得到 {"SevendaySurfSportTour"=>2}
。
我想显示
2 SevendaySurfSportTour
最后。但我不知道如何,任何帮助都会好吗?
class TourOrder
def initialize
@order_items = Hash.new(0)
end
def add_item(name, quantity)
@order_items[name] += quantity
end
def get_items
return @order_items
end
def display
puts "Thank you for coming!"
puts @order_items
end
end
@order_items
是一个散列,如果是这种散列的字符串表示形式,打印出来的是什么。当你想以不同的方式格式化输出时,你必须自己实现它——例如:
def display
puts "Thank you for coming!"
@order_items.each do |name, quantity|
puts "#{quantity} #{name}"
end
end
以下代码适合您
class TourOrder
def initialize
@order_items = Hash.new(0)
end
def add_item(name, quantity)
@order_items[name] += quantity
end
def get_items
@order_items
end
def display
puts "Thank you for coming!"
puts items
end
def items
@order_items.collect{ |k, v| "#{v} #{k}"}
end
end
t = TourOrder.new
t.add_item('SevendaySurfSportTour', 2)
t.add_item('Foo', 4)
t.add_item('Bar', 1)
t.display
=> Thank you for coming!
2 SevendaySurfSportTour
4 Foo
1 Bar
我编写了一个带有旅游项目的旅游应用程序,我试图在最后显示订单。
当我使用 puts @order_items
时,两次旅行我得到 {"SevendaySurfSportTour"=>2}
。
我想显示
2 SevendaySurfSportTour
最后。但我不知道如何,任何帮助都会好吗?
class TourOrder
def initialize
@order_items = Hash.new(0)
end
def add_item(name, quantity)
@order_items[name] += quantity
end
def get_items
return @order_items
end
def display
puts "Thank you for coming!"
puts @order_items
end
end
@order_items
是一个散列,如果是这种散列的字符串表示形式,打印出来的是什么。当你想以不同的方式格式化输出时,你必须自己实现它——例如:
def display
puts "Thank you for coming!"
@order_items.each do |name, quantity|
puts "#{quantity} #{name}"
end
end
以下代码适合您
class TourOrder
def initialize
@order_items = Hash.new(0)
end
def add_item(name, quantity)
@order_items[name] += quantity
end
def get_items
@order_items
end
def display
puts "Thank you for coming!"
puts items
end
def items
@order_items.collect{ |k, v| "#{v} #{k}"}
end
end
t = TourOrder.new
t.add_item('SevendaySurfSportTour', 2)
t.add_item('Foo', 4)
t.add_item('Bar', 1)
t.display
=> Thank you for coming!
2 SevendaySurfSportTour
4 Foo
1 Bar