Другие варианты, просто для удовольствия.
Полый
n, cat, hyp = 4, "?", "?"
n.times do |n|
a = Array.new(n+1){' '}
a[0], a[-1] = cat, hyp
puts a.join
end
Возвращает:
# ?
# ??
# ? ?
# ? ?
Заполненный n = 10
r = [*0..9, *'a'..'z']
n.times do |n|
puts r[0..n].join
end
Возвращает
# 0
# 01
# 012
# 0123
Если вы перетасуете массив r.shuffle[0..n].join
, вы можете получить случайный вывод:
# t
# 26
# ce0
# zqiw
Случайные эмодзи:
some_emotics = (0..9).each_with_object([]) { |n, o| o << "1F96#{n}".to_i(16) }.pack 'U*'
n.times do |n|
puts some_emotics.split("").shuffle[0..n].join
end
, чтобы получить:
# ?
# ??
# ???
# ????