Size: a a a

pro.rb (Ruby/Rails / RU)

2021 May 11

VI

Vladislav Ivanov in pro.rb (Ruby/Rails / RU)
просто громоздко у меня в Ruby выходит что-то
источник

IK

Ivan Kokorev in pro.rb (Ruby/Rails / RU)
А Rails есть или нет?
Если есть, то a.presence || b.presence
источник

VI

Vladislav Ivanov in pro.rb (Ruby/Rails / RU)
спасибо, да,  Rails есть
источник

V

Vladyslav Parashchen... in pro.rb (Ruby/Rails / RU)
Придумал такое вот решение
a = b if a&.empty?
Не очень конечно, но имхо руби ведет себя более правильно
источник

VI

Vladislav Ivanov in pro.rb (Ruby/Rails / RU)
спасибо.

Супер, даже без рельсов пройдет.
Я только чутка поменяю:  c = a if (not a&.empty?) else b
источник

VI

Vladislav Ivanov in pro.rb (Ruby/Rails / RU)
даже лучше это использую вместо presence - чтобы не привязываться к htkmcfv
источник

V

Vladyslav Parashchen... in pro.rb (Ruby/Rails / RU)
Используй тернарный оператор ? a : b
источник

V

Vladyslav Parashchen... in pro.rb (Ruby/Rails / RU)
htkmcfv ? Это что за зверь ?
источник

VI

Vladislav Ivanov in pro.rb (Ruby/Rails / RU)
не понял, что за htkmcfv ?
источник

VI

Vladislav Ivanov in pro.rb (Ruby/Rails / RU)
ой, нет, спасибо, не люблю всякие загогулинки =)
источник

V

Vladyslav Parashchen... in pro.rb (Ruby/Rails / RU)
чтобы не привязываться к htkmcfv
Ты написал
источник

VI

Vladislav Ivanov in pro.rb (Ruby/Rails / RU)
ой блин, то Rails =)
источник

VI

Vladislav Ivanov in pro.rb (Ruby/Rails / RU)
не хотел к рельсам сильно привязываться
источник

GB

Georgiy Bykov in pro.rb (Ruby/Rails / RU)
c = a.nil? || a.empty? ? b : a
источник

GB

Georgiy Bykov in pro.rb (Ruby/Rails / RU)
c = [nil, ""].include?(a) ? b : a
источник

GB

Georgiy Bykov in pro.rb (Ruby/Rails / RU)
Можешь тернарники на явный if стэйтмент заменить
источник

VI

Vladislav Ivanov in pro.rb (Ruby/Rails / RU)
thanks, тоже хорошие варианты
источник

GB

Georgiy Bykov in pro.rb (Ruby/Rails / RU)
Не за что.
На заметку, если не знаешь. При логическом или (||) в случае результата true на первое условие, второе условие не проверяется.
источник

VI

Vladislav Ivanov in pro.rb (Ruby/Rails / RU)
thanks, да в Python такая же фигня.
Я не знал что "" в условии дает true - в куче мест сделал (a or b), как в Python, теперь вот разгребаю =)
источник

GB

Georgiy Bykov in pro.rb (Ruby/Rails / RU)
Так и есть,  это объект класса String. Проверка должны быть другая.

Понял 👍
источник