Рубин: Измените отрицательное число на положительное?


105

Какой самый простой способ заменить отрицательное число на положительное с помощью рубина?

т.е. Измените "-300" на "300"

Ответы:



27

Поставьте перед ним отрицательный знак.

>> --300
=> 300
>> x = -300
=> -300
>> -x
=> 300

6
Просто обратите внимание, что если число уже положительное, это сделает его отрицательным.
Саша Чедыгов

Да. Уточнил это в моем комментарии к принятому выше ответу.
Брэндон Боднар,

8
это либо не гений, либо не безумие.
Стивен Нгуен

почему отрицательные голоса? это превращается из отрицательного в положительный, как просил OP. #absи -представляют собой разные функции с одинаковым поведением для запрашиваемого ввода / вывода. Если это из-за нежелательного +-> -, это не более чем предположение, поскольку это не было охвачено OP.
Андре Фигейредо,

15

Разве не проще было бы умножить его на отрицательное?

x * -1

Таким образом, вы можете двигаться вперед и назад.


Мне нравится использовать это для ясности, поскольку иногда можно легко пропустить знак
Маттиас

1
Стоит помнить, что вы можете использовать сокращение, x *= -1если хотите сохранить новое значение ...
SRack

По тому же принципу мы можем даже разделить любое отрицательное число на -1. Однако мне просто интересно, в чем может быть преимущество его использования перед методом пресса, как упомянул Якоби
Апурва Маянк

1
abs возвращает абсолютное значение. Если это все, что вам нужно, как это делает OP, все в порядке. Но что, если вам нужно двигаться вперед и назад?
Абсолютно мыслящий веб-кузнец

@ApurvaMayank, какая польза от absэтого? OP не упомянул, но он мог либо превратить положительное в отрицательное, либо сохранить положительное ... вы не можете предположить одно, не упомянув об этом.
Андре Фигейредо,
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.