Конкатенация строки с номером в рубине
Я полностью начинаю в рубине, поэтому его очень новичок.
Я пытаюсь конкатенировать строку с поплавковым значением, следующим за ней, а затем печатать ее.
puts " Total Revenue of East Cost: " + total_revenue_of_east_cost
total_revenue_of_east_cost - значение переменной плавающей переменной, как я могу сделать печать?
Ответы
Ответ 1
Это не совсем конкатенация, но она выполнит задание, которое вы хотите сделать:
puts " Total Revenue of East Cost: #{total_revenue_of_east_cost}"
Технически это интерполяция. Разница заключается в том, что конкатенация добавляет конец строки, где, поскольку интерполяция оценивает бит кода и вставляет его в строку. В этом случае вставка происходит в конце строки.
Ruby будет оценивать что угодно между фигурными скобками в строке, где передняя скобка предшествует октоторпу.
Ответ 2
Ответ Стивена Дойла, используя метод, известный как "String интерполяция", является правильным и, вероятно, самым простым решением, однако есть и другой способ. Вызывая метод to_s объектов, объект может быть преобразован в строку для печати. Таким образом, также будут работать следующие.
puts " Total Revenue of East Cost: " + total_revenue_of_east_cost.to_s
Ответ 3
В вашем примере вам может понадобиться нечто более конкретное, чем метод to_s. В конце концов, to_s на float часто будет включать в себя более или менее точную точность, чем вы хотите отобразить.
В этом случае
puts " Total Revenue of East Coast: #{sprintf('%.02f', total_revenue_of_east_coast)}"
может быть лучше. # {} может обрабатывать любой бит кода ruby, поэтому вы можете использовать sprintf или любой другой способ форматирования, который вы хотите.
Ответ 4
Мне нравится (подробнее см. "Класс String%" ):
puts " Total Revenue of East Coast: " + "%.2f" % total_revenue_of_east_coast
Ответ 5
Пример bucle
(1..100).each do |i| puts "indice #{i} " end