Подтвердить что ты не робот

Конкатенация строки с номером в рубине

Я полностью начинаю в рубине, поэтому его очень новичок.

Я пытаюсь конкатенировать строку с поплавковым значением, следующим за ней, а затем печатать ее.

puts " Total Revenue of East Cost: " + total_revenue_of_east_cost 

total_revenue_of_east_cost - значение переменной плавающей переменной, как я могу сделать печать?

4b9b3361

Ответ 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