Задать вопрос
VitalyLiber
@VitalyLiber
web-developer

Как у значение хеша обрезать все пробелы?

Вот есть у меня такой хешик hash["price"] = 5 000.

Как мне применить к значению хеша .lstrip?

Мне нужно, чтобы он пробел обрезал между пятеркой и нулями, ибо у меня при загрузке через csv он в поле price:integer загружает только цифры перед пробелом.
  • Вопрос задан
  • 273 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
@tplus
hash["price"] = "5 000".sub!(" ", "")
 => "5000"


Не забывайте, что sub! изменит значение в хэше. Если нужно просто передать строку с суммой, но не изменять хэш - просто "sub".
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@thepry
Ruby on rails, 1С разработчик
hash.values.each(&:lstrip!)
Но, поскольку, вам нужно убрать все пробелы в строке с числом, то
hash.values.each{ |v| v.delete!(' ') }
Ответ написан
Комментировать
@SilentFl
Есть метод to_money - либо при сохранении в хеш делайте hash["price"]=price.to_money, либо при выводе в csv возвращайте hash["price"].to_money
Ответ написан
Комментировать
@vsuhachev
Есть хороший гем - attribute_normalizer, рекомендую
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы