Перейти к публикации
  • Сейчас на странице   Всего пользователей: 1   (0 пользователей, 1 гость)

Rooster

Программирование[8]

Рекомендованные сообщения

h13471DAF

 

бтв жиза пиздец

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.
 

Поделиться сообщением


Ссылка на сообщение

Кстати, раз уж поднимался вопрос о читаемости, причёсанный вид выглядел бы примерно так.

 

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


Поделиться сообщением


Ссылка на сообщение

Ну уж не знаю, чем две простые свёртки более "криптик", чем нагромождение циклов, ифов и мутаций.

там нихуя не нагромождено, максимальный уровень вложености - 2

в версии канта где не надо было делать лейзи вообще тело цикла пустое что для любого нормального соображающего человека сразу понятно что это поиск позиции итератора а не действия над массивом

в итоге его решение сводится к тому что у тебя цикл из "найти следующий Х выполняющий условие", "бранчинг решения зависимо от того как далеко ты зашёл в п.1" и всё. ВСЁ. это цикл бувально на 2 действия

 

а любой фолд это по дефолту криптик хуйня если у тебя сворачивающая функция отличная от (e, acc) => e + acc

Kant понравилось это

Поделиться сообщением


Ссылка на сообщение

 

бесит код без вайтспейса между логическими блоками

 

а также экономия символов в именах переменных

говорит человек с переменными i и j? )

 

так, ну ка вырубай троллебас мод. ты для циклов что ли каждый раз запускаешь Лабораторию Ёмких Именований, а не используешь общепринятые индексы i j k?

Поделиться сообщением


Ссылка на сообщение

 

 

бесит код без вайтспейса между логическими блоками

 

а также экономия символов в именах переменных

говорит человек с переменными i и j? )

 

так, ну ка вырубай троллебас мод. ты для циклов что ли каждый раз запускаешь Лабораторию Ёмких Именований, а не используешь общепринятые индексы i j k?

 

использовать НЕ i,j,k для итераторов цикла это преступление против человечества и карается 10 до 15 годами лишения питона с отбыванием наказания в хаскелл IDE особо строгого режима
JuJeu, fessnik и `KV понравилось это

Поделиться сообщением


Ссылка на сообщение
(изменено)

а любой фолд это по дефолту криптик хуйня

Ну я могу сказать, что любой цикл это по дефолту криптик хуйня.

Ты ж понимаешь, шо такие формулировки работают в обе стороны и ни к чему не ведут?

 

К тому же cons (который прицепление головы к списку, [h | t]) "для любого нормального соображающего человека" по своей комплексности ну не отличается от сложения.

 

Энивей, не имею цели кого-то вербовать или переубеждать, коль скоро зашла речь о функциональщине — решил продемонстрировать то, как это может выглядеть в функциональном языке.

Меня лично копаться в циклах вилами не загнать, но допускаю, что у кого-то они настолько устоялись в картине мира, что остальное кажется какой-то китайской грамотой.


Изменено пользователем iKrivetko
fessnik и Arzanis понравилось это

Поделиться сообщением


Ссылка на сообщение

ПОЙДИ ИНТЕГРАЛЫ ПОБЕРИ НА ВРЕМЯ

Поделиться сообщением


Ссылка на сообщение
(изменено)

1649722.jpg

Кто нить читал? Годнота? А то блять ее хуй где купишь, а там где можно купить она почти 7к рублей стоит, пиздец какой то


Изменено пользователем Zellar

 

Жиза для любопытных

Чекнул = пидор

 

Поделиться сообщением


Ссылка на сообщение
(изменено)

Бля ты джаву не смог осилить и сразу замахнулся на эту книгу. Почитай что-то попроще))


Изменено пользователем 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.
 

Поделиться сообщением


Ссылка на сообщение

Бля ты джаву не смог осилить и сразу замахнулся на эту книгу. Почитай что-то попроще))

где связь между джавой и алгоритмами?


 

Жиза для любопытных

Чекнул = пидор

 

Поделиться сообщением


Ссылка на сообщение

классная книга, особенно понравился твист с 

нп полными задачами

 

хотя персонажи прописаны на четверочку, но все равно, захватывает

Поделиться сообщением


Ссылка на сообщение

 

Бля ты джаву не смог осилить и сразу замахнулся на эту книгу. Почитай что-то попроще))

где связь между джавой и алгоритмами?
смотри глубже

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.
 

Поделиться сообщением


Ссылка на сообщение

Ну я могу сказать, что любой цикл это по дефолту криптик хуйня.

Ты ж понимаешь, шо такие формулировки работают в обе стороны и ни к чему не ведут?

нет)

императивный код имеет намного более очевидный control flow. чтоб сломать его понимание надо иметь *слишком* много бранчинга и вложеных вызовов

 

 

К тому же cons (который прицепление головы к списку, [h | t]) "для любого нормального соображающего человека" по своей комплексности ну не отличается от сложения.

это если это одна операция

 

а у тебя там есть как [[h] | t] который легко перепутать с [h | t], так и вложености этой хуйни и всё это под соусом бранчинга

 

Энивей, не имею цели кого-то вербовать или переубеждать, коль скоро зашла речь о функциональщине — решил продемонстрировать то, как это может выглядеть в функциональном языке.

Меня лично копаться в циклах вилами не загнать, но допускаю, что у кого-то они настолько устоялись в картине мира, что остальное кажется какой-то китайской грамотой.

я с фп много работал т.к. пытаюсь что-угодно с коллекциями делать в LINQ-е если это возможно. охуенная вещь на самом деле.

 

кроме фолдов.

каждое моё решение с фолдом сначала пишется фп-стайл а потом я охуев от того как я не могу понять код написаный 15 секунд назад, почти что всегда выбрасываю и переделываю по-человечески

`KV понравилось это

Поделиться сообщением


Ссылка на сообщение

я правильно понимаю, что этот lfold это аналог линковского Aggregate?


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение

Да, это одно из названий свёртки.


Поделиться сообщением


Ссылка на сообщение
(изменено)

 

 

 

бесит код без вайтспейса между логическими блоками

 

а также экономия символов в именах переменных

говорит человек с переменными i и j? )

 

так, ну ка вырубай троллебас мод. ты для циклов что ли каждый раз запускаешь Лабораторию Ёмких Именований, а не используешь общепринятые индексы i j k?

 

использовать НЕ i,j,k для итераторов цикла это преступление против человечества и карается 10 до 15 годами лишения питона с отбыванием наказания в хаскелл IDE особо строгого режима

 

Вот только в большинстве задач интерпрайза ты не будешь итерировать что-то абстрактное или перебирать индексы  :nate:

Понатыкают свои i,j,k и ябуться потом в жопы с непонятными ошибками и магическим кодом (привiт плюсам)

В абстрактных алгоритмах то само собой.


Изменено пользователем SKYnv

 

<< твой комментарий очень важен для форума.

Поделиться сообщением


Ссылка на сообщение

ну выше у Димана вполне себе интерпрайз задачка - нужно выводить пользователю рейнджи номеров (например мест в кинотетре)

я даже помню мы где-то подобное делали


 

очень крутые котейки

RqvSzvr.png


Кому-то пизды дал - нужно сделать скрин обязательно. (с) Solo

Поделиться сообщением


Ссылка на сообщение

 

 

 

 

бесит код без вайтспейса между логическими блоками

 

а также экономия символов в именах переменных

говорит человек с переменными i и j? )

 

так, ну ка вырубай троллебас мод. ты для циклов что ли каждый раз запускаешь Лабораторию Ёмких Именований, а не используешь общепринятые индексы i j k?

 

использовать НЕ i,j,k для итераторов цикла это преступление против человечества и карается 10 до 15 годами лишения питона с отбыванием наказания в хаскелл IDE особо строгого режима

 

Вот только в большинстве задач интерпрайза ты не будешь итерировать что-то абстрактное или перебирать индексы  :nate:

Понатыкают свои i,j,k и ябуться потом в жопы с непонятными ошибками и магическим кодом (привит плюсам)

В абстрактных алгоритмах то само собой.

 

что не итерируй, индекс всегда останется абстрактным, ведь он индекс, а не то, что ты итерируешь

 

если тебе нужно запоминать индексы, там, где запоминаешь, давай название, зачем давать тому, что просто идет от начала до конца, оно что что-то особенное делает?

в этой вот вообще нихуя не запоминается, тривиальный 1 проход массива, нахера имена какие-то давать, дольше думать будут


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение

Вот только в большинстве задач интерпрайза ты не будешь итерировать что-то абстрактное или перебирать индексы  :nate:

Понатыкают свои i,j,k и ябуться потом в жопы с непонятными ошибками и магическим кодом (привiт плюсам)

В абстрактных алгоритмах то само собой.

ну так речь о ручных итераторах цикла а не range переборах, которые и в плюсах есть кстати `for (T &elem : list)`

и они по-любому юзаются чаще чем ручные индекс итераторы `size_t i,j,k` или рендж итераторы `std::iterator` в ручном режиме

Поделиться сообщением


Ссылка на сообщение

Все парни жизнь удалась. На работе сироп подвезли, правда пока только один

post-165694-0-69797800-1552575494_thumb.jpeg

 

Бтв спор про название переменных в итераторах просто пиздец. Пишите так, чтобы после вас чел, который будет фиксить ваш код, не охуевал от реальности происходящего


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.
 

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...