Ivan
Парни, а вы любите тернарники и длинные цепочки вызовов лепить?
return foo().bar().baz(bee() == gee() ? koo() : laa(), str, tmp);
Berkus
а я не советовал буст, я советовал опенсорсные проекты на плюсах
vladislav
пример тогда
Крылатый
Я вам тут покушать принёс! https://wandbox.org/permlink/tMvfacVHorVsPZAS
Berkus
читать буст в принципе не советую
Крылатый
Berkus
монаду бы вам в тухес, батенька
Крылатый
Ivan
Вот. Ощущаешь себя крутым? Я тоже ощущал. Пока не пришлось сесть за чужой такой же Крутой Код и отлаживать его
Крылатый
Для гроздьев if-ов есть стейт машины.
Ivan
Вот как узнать в gdb какой результат подставит тернарники
Ильяс
Ильяс
http://www.boost.org/users/uses_open.html Это он?
Berkus
Крылатый
Berkus
Крылатый
В соседнем плюсочате обычно советуют личкрафты.
Sergey
Ильяс
Nikita
Berkus
Крылатый
Крылатый
Лямбды там и так есть.
Крылатый
Но там ещё проверка на null имеется с выполнением соответствующей ветки кодца.
vladislav
Мм, так он и правда существует. Боже, почему я просто ору?
vladislav
#ultramegapro
vladislav
я думал ты угараешь
Berkus
Крылатый
Berkus
Nikita
Крылатый
Не, ну можно делать так:
[value](){
if (value)
return [*value]{ return func(value) };
else
return []{};
}();
Крылатый
Утрированно.
Крылатый
Но это громоздко.
Крылатый
А я как раз хотел избавиться от if
Berkus
и в итоге код будет жырноват кмк
Berkus
на каждую лямбду по объекту
Nikita
Berkus
Ivan
Теперь, у меня привычка писать самый нудный код в мире.
const auto a = foo();
const auto b = a.bar();
auto l = bee();
auto g = gee();
bool isValid = l == g;
if (isValid) b.koo();
else b.laa()
...
Я просто с телефона, но это не предел занудности
std::mpa 🇺🇦
https://vk.com/wall-54530371_128409
Ivan
Зато отлаживать удобно
Олександр
Олександр
Ilya
Хану можно почитат. Очень симпатично. :)
Олександр
Компилятор то соптимизирует, но ненужных переменных то много :/
Nikita
[value&](){
if (!value) return;
if (!proc1(value)) return;
...
}();
Крылатый
Чот как-то фу.
Олександр
Олександр
Зато нет вложенности никакой, код чище
Крылатый
If-return?
Громоздко и не вижу профита. Легче просто if накидать.
Олександр
Nikita
Чот как-то фу.
Монада Maybe лучше бы зашла, но тернарки не особо лучше выглядят
Nikita
Но хаскеллисты в другом чате
Олександр
Олександр
Олександр
Но это вкусовщина на уровне скобочек
Олександр
Олександр
Не подскажу где, давно не пользовался
Крылатый
Dr. Friedrich
Монада и императивщина не исключают друг друга.
Dr. Friedrich
Монада — это набор функций, обладающих определёнными свойствами и сигнатурами, и всё.
Крылатый
Воот!
Крылатый
Слушайте умного дядю Нёвера.
Крылатый
Я ему уже предложил вот это https://github.com/leha-bot/GuncraftExtractor
Berkus
https://github.com/leereilly/games вот тут можно порыться еще
Ivan
почему именно C++? я не вижу смысла начинать со сложных языков с большим количеством движущихся частей
Berkus
Крылатый
Крылатый
В том-то и вся беда.
Ivan
ep
OpenStack разве не на Python написан?
Dr. Friedrich