JuJeu #281 13 марта 2019 бтв жиза пиздец m()stEVIL, Ubububu и Kant понравилось это Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders. Поделиться сообщением Ссылка на сообщение
iKrivetko #282 13 марта 2019 Кстати, раз уж поднимался вопрос о читаемости, причёсанный вид выглядел бы примерно так. defmodule Hooey do def group_numbers(numbers) do numbers |> build_groups() |> format_groups() end defp build_groups(numbers), do: List.foldl(numbers, [], &group/2) defp format_groups(numbers), do: List.foldl(numbers, [], &format/2) defp group(current, acc) do case acc do [[previous | _] = group | rest] when current == previous + 1 -> [[current | group] | rest] _ -> [[current] | acc] end end defp format(group, acc) do case group do [x] -> ["#{x}" | acc] [x, y] -> ["#{y}", "#{x}" | acc] [x | rest] -> ["#{List.last(rest)}-#{x}" | acc] end end # alternative # defp group(current, [[previous | _] = group | acc_rest]) when current == previous + 1, do: [[current | group] | acc_rest] # defp group(current, acc), do: [current | acc] # defp format([x], acc), do: ["#{x}" | acc] # defp format([x, y], acc), do: ["#{y}", "#{x}" | acc] # defp format([x | rest], acc), do: ["#{List.last(rest)}-#{x}" | acc] end Поделиться сообщением Ссылка на сообщение
TheDeadSkin #283 13 марта 2019 Ну уж не знаю, чем две простые свёртки более "криптик", чем нагромождение циклов, ифов и мутаций.там нихуя не нагромождено, максимальный уровень вложености - 2 в версии канта где не надо было делать лейзи вообще тело цикла пустое что для любого нормального соображающего человека сразу понятно что это поиск позиции итератора а не действия над массивом в итоге его решение сводится к тому что у тебя цикл из "найти следующий Х выполняющий условие", "бранчинг решения зависимо от того как далеко ты зашёл в п.1" и всё. ВСЁ. это цикл бувально на 2 действия а любой фолд это по дефолту криптик хуйня если у тебя сворачивающая функция отличная от (e, acc) => e + acc Kant понравилось это Поделиться сообщением Ссылка на сообщение
moonfangtopich #284 13 марта 2019 бесит код без вайтспейса между логическими блоками а также экономия символов в именах переменныхговорит человек с переменными i и j? ) так, ну ка вырубай троллебас мод. ты для циклов что ли каждый раз запускаешь Лабораторию Ёмких Именований, а не используешь общепринятые индексы i j k? Поделиться сообщением Ссылка на сообщение
TheDeadSkin #285 13 марта 2019 бесит код без вайтспейса между логическими блоками а также экономия символов в именах переменныхговорит человек с переменными i и j? ) так, ну ка вырубай троллебас мод. ты для циклов что ли каждый раз запускаешь Лабораторию Ёмких Именований, а не используешь общепринятые индексы i j k? использовать НЕ i,j,k для итераторов цикла это преступление против человечества и карается 10 до 15 годами лишения питона с отбыванием наказания в хаскелл IDE особо строгого режима JuJeu, fessnik и `KV понравилось это Поделиться сообщением Ссылка на сообщение
iKrivetko #286 13 марта 2019 (изменено) а любой фолд это по дефолту криптик хуйняНу я могу сказать, что любой цикл это по дефолту криптик хуйня.Ты ж понимаешь, шо такие формулировки работают в обе стороны и ни к чему не ведут? К тому же cons (который прицепление головы к списку, [h | t]) "для любого нормального соображающего человека" по своей комплексности ну не отличается от сложения. Энивей, не имею цели кого-то вербовать или переубеждать, коль скоро зашла речь о функциональщине — решил продемонстрировать то, как это может выглядеть в функциональном языке.Меня лично копаться в циклах вилами не загнать, но допускаю, что у кого-то они настолько устоялись в картине мира, что остальное кажется какой-то китайской грамотой. Изменено 13 марта 2019 пользователем iKrivetko fessnik и Arzanis понравилось это Поделиться сообщением Ссылка на сообщение
moonfangtopich #287 13 марта 2019 ПОЙДИ ИНТЕГРАЛЫ ПОБЕРИ НА ВРЕМЯ Поделиться сообщением Ссылка на сообщение
Zellar #288 13 марта 2019 (изменено) Кто нить читал? Годнота? А то блять ее хуй где купишь, а там где можно купить она почти 7к рублей стоит, пиздец какой то Изменено 13 марта 2019 пользователем Zellar Жиза для любопытныхЧекнул = пидор Поделиться сообщением Ссылка на сообщение
JuJeu #289 13 марта 2019 (изменено) Бля ты джаву не смог осилить и сразу замахнулся на эту книгу. Почитай что-то попроще)) Изменено 13 марта 2019 пользователем JuJeu `KV понравилось это Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders. Поделиться сообщением Ссылка на сообщение
Zellar #290 13 марта 2019 Бля ты джаву не смог осилить и сразу замахнулся на эту книгу. Почитай что-то попроще))где связь между джавой и алгоритмами? Жиза для любопытныхЧекнул = пидор Поделиться сообщением Ссылка на сообщение
sonac #291 13 марта 2019 классная книга, особенно понравился твист с нп полными задачами хотя персонажи прописаны на четверочку, но все равно, захватывает Поделиться сообщением Ссылка на сообщение
JuJeu #292 13 марта 2019 Бля ты джаву не смог осилить и сразу замахнулся на эту книгу. Почитай что-то попроще))где связь между джавой и алгоритмами?смотри глубже Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders. Поделиться сообщением Ссылка на сообщение
TheDeadSkin #293 13 марта 2019 Ну я могу сказать, что любой цикл это по дефолту криптик хуйня. Ты ж понимаешь, шо такие формулировки работают в обе стороны и ни к чему не ведут?нет) императивный код имеет намного более очевидный control flow. чтоб сломать его понимание надо иметь *слишком* много бранчинга и вложеных вызовов К тому же cons (который прицепление головы к списку, [h | t]) "для любого нормального соображающего человека" по своей комплексности ну не отличается от сложения.это если это одна операция а у тебя там есть как [[h] | t] который легко перепутать с [h | t], так и вложености этой хуйни и всё это под соусом бранчинга Энивей, не имею цели кого-то вербовать или переубеждать, коль скоро зашла речь о функциональщине — решил продемонстрировать то, как это может выглядеть в функциональном языке. Меня лично копаться в циклах вилами не загнать, но допускаю, что у кого-то они настолько устоялись в картине мира, что остальное кажется какой-то китайской грамотой.я с фп много работал т.к. пытаюсь что-угодно с коллекциями делать в LINQ-е если это возможно. охуенная вещь на самом деле. кроме фолдов. каждое моё решение с фолдом сначала пишется фп-стайл а потом я охуев от того как я не могу понять код написаный 15 секунд назад, почти что всегда выбрасываю и переделываю по-человечески `KV понравилось это Поделиться сообщением Ссылка на сообщение
Kant #294 13 марта 2019 я правильно понимаю, что этот lfold это аналог линковского Aggregate? Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью. Поделиться сообщением Ссылка на сообщение
iKrivetko #295 13 марта 2019 Да, это одно из названий свёртки. Поделиться сообщением Ссылка на сообщение
SKYnv #296 14 марта 2019 (изменено) бесит код без вайтспейса между логическими блоками а также экономия символов в именах переменныхговорит человек с переменными i и j? ) так, ну ка вырубай троллебас мод. ты для циклов что ли каждый раз запускаешь Лабораторию Ёмких Именований, а не используешь общепринятые индексы i j k? использовать НЕ i,j,k для итераторов цикла это преступление против человечества и карается 10 до 15 годами лишения питона с отбыванием наказания в хаскелл IDE особо строгого режима Вот только в большинстве задач интерпрайза ты не будешь итерировать что-то абстрактное или перебирать индексы Понатыкают свои i,j,k и ябуться потом в жопы с непонятными ошибками и магическим кодом (привiт плюсам)В абстрактных алгоритмах то само собой. Изменено 14 марта 2019 пользователем SKYnv << твой комментарий очень важен для форума. Поделиться сообщением Ссылка на сообщение
Just.Doit #297 14 марта 2019 ну выше у Димана вполне себе интерпрайз задачка - нужно выводить пользователю рейнджи номеров (например мест в кинотетре)я даже помню мы где-то подобное делали очень крутые котейкиКому-то пизды дал - нужно сделать скрин обязательно. (с) Solo Поделиться сообщением Ссылка на сообщение
Kant #298 14 марта 2019 бесит код без вайтспейса между логическими блоками а также экономия символов в именах переменныхговорит человек с переменными i и j? ) так, ну ка вырубай троллебас мод. ты для циклов что ли каждый раз запускаешь Лабораторию Ёмких Именований, а не используешь общепринятые индексы i j k? использовать НЕ i,j,k для итераторов цикла это преступление против человечества и карается 10 до 15 годами лишения питона с отбыванием наказания в хаскелл IDE особо строгого режима Вот только в большинстве задач интерпрайза ты не будешь итерировать что-то абстрактное или перебирать индексы Понатыкают свои i,j,k и ябуться потом в жопы с непонятными ошибками и магическим кодом (привит плюсам)В абстрактных алгоритмах то само собой. что не итерируй, индекс всегда останется абстрактным, ведь он индекс, а не то, что ты итерируешь если тебе нужно запоминать индексы, там, где запоминаешь, давай название, зачем давать тому, что просто идет от начала до конца, оно что что-то особенное делает?в этой вот вообще нихуя не запоминается, тривиальный 1 проход массива, нахера имена какие-то давать, дольше думать будут Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью. Поделиться сообщением Ссылка на сообщение
TheDeadSkin #299 14 марта 2019 Вот только в большинстве задач интерпрайза ты не будешь итерировать что-то абстрактное или перебирать индексы Понатыкают свои i,j,k и ябуться потом в жопы с непонятными ошибками и магическим кодом (привiт плюсам) В абстрактных алгоритмах то само собой.ну так речь о ручных итераторах цикла а не range переборах, которые и в плюсах есть кстати `for (T &elem : list)` и они по-любому юзаются чаще чем ручные индекс итераторы `size_t i,j,k` или рендж итераторы `std::iterator` в ручном режиме Поделиться сообщением Ссылка на сообщение
JuJeu #300 14 марта 2019 Все парни жизнь удалась. На работе сироп подвезли, правда пока только один Бтв спор про название переменных в итераторах просто пиздец. Пишите так, чтобы после вас чел, который будет фиксить ваш код, не охуевал от реальности происходящего Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders. Поделиться сообщением Ссылка на сообщение