您可以执行以下操作来解决:
('A'..'F').each.with_index(1) { |letter,index| puts "#{letter} "*index }
Run Code Online (Sandbox Code Playgroud)
替代方法包括使range可变:
lower_limit = 'A' # could be read in rather than wired
upper_limit = 'F' # ditto
(lower_limit..upper_limit).each.with_index(1) { |letter,index| puts "#{letter} "*index }
Run Code Online (Sandbox Code Playgroud)
或使用带有的数组join获取空格而不引入尾随空格:
(lower_limit..upper_limit).each.with_index(1) { |letter,index| puts Array.new(index) { letter }.join(' ') }
Run Code Online (Sandbox Code Playgroud)