Повторение строки - PullRequest
0 голосов
/ 27 октября 2018

Пользователь вводит три записи:

  • Первая запись: Имя
  • Вторая запись: псевдоним
  • Третья запись: Количество повторений

Учитывая пользовательский ввод, я хочу сгенерировать текст следующим образом.Дано:

  • Имя: "A"
  • Псевдоним: "B"
  • Количество повторений: "3"

результат должен быть:

"AB AB AB"

Ответы [ 4 ]

0 голосов
/ 27 октября 2018
name = 'A'
nick = 'B'
rep = 3

namenick = "#{name}#{nick}"
"#{ namenick }#{ " #{namenick}"*(rep-1) }"
  #=> "AB AB AB"
0 голосов
/ 27 октября 2018
print 'Name: '
name = gets.chomp
print 'Nickname: '
nickname = gets.chomp
print 'Number: '
num = gets.to_i

result = ("#{name}#{nickname} " * num).strip
puts "Result is: #{result}"

Имя: A
Никнейм: B
Номер: 3
Результат: AB AB AB

Если вас не волнует конечный пробел и вы хотите просто напечатать результат, вы можете упростить код, удалив strip ():

print 'Name: '
name = gets.chomp
print 'Nickname: '
nickname = gets.chomp
print 'Number: '
num = gets.to_i

result = "#{name}#{nickname} " * num
puts "Result is: #{result}"
0 голосов
/ 27 октября 2018

Дайте попытку следующему:

name = 'A'
nick = 'B'
rep = 3

arr = []
rep.times do |i|
  arr.push("#{name}#{nick}")
end

p arr # => ["AB", "AB", "AB"]

Объяснение:

  • times: итерирует указанный блок int раз, передавая значения от нуля до int -1 от документ
0 голосов
/ 27 октября 2018
name = 'A'
nickname = 'B'
rep = 3

(name + nickname) * rep                    # produces "ABABAB"
Array.new(rep, name + nickname).join(' ')  # produces "AB AB AB"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...