Номер префикса с "+", если он положительный - 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
будет положительным числом тогда +
знак появится или, если это отрицательное число а - -
знак появится в представлении.