Есть ли умный метод рубиновой строки для создания текстовой гистограммы, такой как «XXX -------», если пройдено 3 и 10? - PullRequest
0 голосов
/ 24 июля 2011

Мне нужно написать метод для создания простой текстовой гистограммы с заданным значением и максимальным значением.Так что barchart(4, 10) вернул бы "XXXX------".

Очевидно, что это просто тривиально, но я пытаюсь узнать больше о методах ruby ​​string.

Гнездо, которое я мог бы найтис было: если вы хотите, например, 4/10 (то есть вывод "XXXX------"),

graph = "".ljust(4, 'X').ljust(10, '-')

Но это кажется глупым, я подозреваю, что есть более прямой путь?

Ответы [ 2 ]

3 голосов
/ 24 июля 2011

Вот еще один способ использования умножения строк :

 passed = 4
 d = 'X' * passed + '-' * (10 - passed)

Является ли это "менее глупым", не решено.

2 голосов
/ 24 июля 2011

Ну, вы можете просто использовать умножение и сложение строк.


d = "X" * 4 + "-" * 10
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...