Номер префикса с "+", если он положительный - Ruby/Rails 4

Мне интересно, что такое обычный Rails путь и способ Ruby, чтобы добавить "+" sybmol к числу, если он положительный.

Пример:

<%= @number #5 %>

Должен выводиться:

+5

По умолчанию негатив будет отображаться правильно:

<%= @number #-3 %>

Выходы:

-3

Я знаю, что могу сделать что-то вроде следующего:

<%= (@number > 0)? '+':'' %><%= @number %>

Но мне это не нравится. Каков хороший способ сделать это как в Ruby & Rails, так и для обоих, если это то же самое?

Ответы

Ответ 1

Посмотрите на метод sprintf

sprintf("%+d", 123)
1.9.3-p392 :005 > sprintf("%+d", 123)
=> "+123" 
1.9.3-p392 :008 > sprintf("%+d", -123)
=> "-123" 

И в перспективе: -

<%= sprintf("%+d", 123) %>
<%= sprintf("%+d", @number) %>

Если @number будет положительным числом тогда + знак появится или, если это отрицательное число а - - знак появится в представлении.