Учусь программировать в Ruby. В курсе есть задача построить в консоли ромб используя пробелы и звёздочки. Решил использовать .each для построения вложенных циклов.
Не могу разобраться как построить алгоритм для нижней части ромба. Верхняя часть тоже изящностью не блещет, но всё же верхняя часть ромба строится.
Нашел в сети как строить ромб в JS но не смог разобраться как применить это в руби.
Мой код:
puts "Enter height of the piramid: "
height = gets.chomp
height_result = height.to_i * 2
(1..height_result).each do |string_number|
(1..height_result).each do |second_number|
if string_number <= height.to_i
space_count = height_result / 2 - string_number
asterisk_count = height_result / 2 + string_number - 1 - space_count
else
space_count = string_number - height.to_i
asterisk_count = height.to_i - space_count
end
print " " * space_count + "*" * asterisk_count
break
end
print "\n"
end
Вывод получается таким:
Enter height of the piramid:
6
*
***
*****
*******
*********
***********
*****
****
***
**
*