我的课程Actor
有一些属性。
class Actor
attr_accessor :name, :age, :sex, :birth_date, :birthplace, :filmography, :death_date
def alive?
death_date.nil?
end
end
当我遍历actors
的数组Actors
并显示如下元素时:
display = actors.each do |i|
puts puts i.inspect
end
我在项目之间得到空行:
#<Actor:0x007f7c04da41c0 @name="Paul Newman", @age=83, @sex="M", @filmography=["Cool Hand Luke", "Butch Cassidy and the Sundance Kid"]>
#<Actor:0x007f7c04da40d0 @name="Catherine Keener", @age=52, @sex="F", @filmography=["Being John Malkovich", "Capote"], @death_date="Jan 01 2011">
#<Actor:0x007f7c04ba3c40 @name="Kathy Pornstar", @age=24, @sex="F", @filmography=["Pono", "Capote"]>
使用以下代码,输出在项目之间没有空行:
living = actors.select{ |i| "\n"; i.death_date.nil?}
puts "#{living}"
输出:
[#<Actor:0x007f7c04da41c0 @name="Paul Newman", @age=83, @sex="M", @filmography=["Cool Hand Luke", "Butch Cassidy and the Sundance Kid"]>, #<Actor:0x007f7c04ba3c40 @name="Kathy Pornstar", @age=24, @sex="F", @filmography=["Pono", "Capote"]>]
如何使输出在项目之间有空行?任何格式化/重新格式化都将受到赞赏。
答案 0 :(得分:1)
我认为通过&#34; space&#34;,你的意思是一个空行。
display
之间有空行的原因是因为你有两个puts
,以错误的方式使用。它将简化为:
display = actors.each do |i|
puts i.inspect, nil
end
和living
,你可以这样做:
living.each do |e|
puts e.inspect, nil
end
答案 1 :(得分:-1)
假设您想在另一条线上打印living
中的每个演员,您可以执行以下操作:
living.each do |actor|
puts actor
end
这会回答你的问题吗?