Выведите количество символов, сколько указано в строке - PullRequest
0 голосов
/ 01 мая 2018

У меня есть строка "A3B2C3D4" она должна быть напечатана в выводе, как показано ниже

AAABBCCCDDDD

Как этого достичь в ruby?

Ответы [ 3 ]

0 голосов
/ 01 мая 2018
t =[]; 
# scan for each letter and split, then combine the array by each two elements. Get the desired output
("A3B2C3D4".scan /\w/).each_slice(2).to_a.each {|g| t<< [g.first * g.last.to_i]}
t.flatten.join
=> "AAABBCCCDDDD"

Немного многословно.

0 голосов
/ 01 мая 2018
str = "A3B2C3D4"
str.gsub(/([A-Z])(\d)/) { $1 * $2.to_i } #=> "AAABBCCCDDDD"
0 голосов
/ 01 мая 2018
"A3B2C3D4".scan(/(\D+)(\d+)/).map { |c, i| c * i.to_i }.join
#⇒ "AAABBCCCDDDD"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...