m()stEVIL #261 12 марта 2019 Все в майках с лого букмекера чтоли ходят ? Поделиться сообщением Ссылка на сообщение
iKrivetko #262 12 марта 2019 Шо там по функциональщине? [5, 10, 11, 12, 13, 14, 17, 18, 19, 24, 25, 27, 28, 29, 31, 35, 36, 37] |> List.foldl([], fn x, [[n|_] = prev |rest] when x == n + 1 -> [[x|prev] | rest]; x, acc -> [[x]|acc] end) |> List.foldl([], fn [x], acc -> ["#{x}"|acc]; [x|rest], acc -> ["#{List.last(rest)}-#{x}"|acc] end) Just.Doit и `KV понравилось это Поделиться сообщением Ссылка на сообщение
JuJeu #263 12 марта 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. Поделиться сообщением Ссылка на сообщение
iMbanana #264 12 марта 2019 это что ф шарп... [14:22:31] Сиэль: oh uj eti imbanani Поделиться сообщением Ссылка на сообщение
Just.Doit #266 12 марта 2019 (изменено) Шо там по функциональщине? [5, 10, 11, 12, 13, 14, 17, 18, 19, 24, 25, 27, 28, 29, 31, 35, 36, 37] |> List.foldl([], fn x, [[n|_] = prev |rest] when x == n + 1 -> [[x|prev] | rest]; x, acc -> [[x]|acc] end) |> List.foldl([], fn [x], acc -> ["#{x}"|acc]; [x|rest], acc -> ["#{List.last(rest)}-#{x}"|acc] end) зачем второй аргумент в фолдлефт? чем отличается "fn x" и "fn [x]" ? бтв - https://wandbox.org/permlink/Bgk2PT2sF80VP2AEты кажется упустил что нужно пары разбивать на отдельные - "24-25" не правильный элемент Изменено 12 марта 2019 пользователем Just.Doit очень крутые котейкиКому-то пизды дал - нужно сделать скрин обязательно. (с) Solo Поделиться сообщением Ссылка на сообщение
iKrivetko #267 12 марта 2019 (изменено) Шо там по функциональщине? [5, 10, 11, 12, 13, 14, 17, 18, 19, 24, 25, 27, 28, 29, 31, 35, 36, 37] |> List.foldl([], fn x, [[n|_] = prev |rest] when x == n + 1 -> [[x|prev] | rest]; x, acc -> [[x]|acc] end) |> List.foldl([], fn [x], acc -> ["#{x}"|acc]; [x|rest], acc -> ["#{List.last(rest)}-#{x}"|acc] end) зачем второй аргумент в фолдлефт? чем отличается "fn x" и "fn [x]" ?второе не вкурил тк синтаксиса не понял Наверное есть смысл подробно расписать, если кому интересно: |> — pipe operator, передаёт результат выражения в качестве первого аргумента функция List.foldl(list, acc, function) list — односвязный списокacc — начальное значение аккумулятора, может быть хоть чёрт лысый, смотря шо требуется от свёрткиfunction — функция обратного вызова с арностью 2, где первый аргумент — текущий элемент списка, а второй — текущий аккумулятор В элике есть сопоставление по образцу, aka pattern matching, соответственно у одной функции может быть несколько клозов, и будет вызван тот, где аргументы под образец подходят.fn x примет аргументом шо угодно и забиндит это к x, fn [x] примет аргументом только односвязный список с одним элементом и забиндит этот элемент к xты кажется упустил что нужно пары разбивать на отдельные - "24-25" не правильный элемент Да, невнимательность. Ну делов-то. [5, 10, 11, 12, 13, 14, 17, 18, 19, 24, 25, 27, 28, 29, 31, 35, 36, 37] |> List.foldl([], fn x, [[n|_] = prev |rest] when x == n + 1 -> [[x|prev] | rest]; x, acc -> [[x]|acc] end) |> List.foldl([], fn [x], acc -> ["#{x}"|acc]; [x,y], acc -> ["#{y}", "#{x}"|acc]; [x|rest], acc -> ["#{List.last(rest)}-#{x}"|acc] end) Изменено 12 марта 2019 пользователем iKrivetko hira88, `KV и sonac понравилось это Поделиться сообщением Ссылка на сообщение
Index #268 12 марта 2019 Что такое соцпакет кстати? Что вы в это вкладываете? Поделиться сообщением Ссылка на сообщение
madvlaydin #269 12 марта 2019 страховка, питание, плюшки, кальян с хуящиком в релакс зоне Поделиться сообщением Ссылка на сообщение
Kant #270 12 марта 2019 Изучаю мануал C# и на этом уроке https://docs.microsoft.com/ru-ru/dotnet/csharp/tutorials/intro-to-csharp/interpolated-strings?tutorial-step=2и у меня код в вижуале выдает ошибки, а в браузере работает нормально интерполяция через $ фича 6 шарпа и вышетак что если у тебя старая вижла или стоит таргет язык ниже, вот оно и ругается Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью. Поделиться сообщением Ссылка на сообщение
TheDeadSkin #271 12 марта 2019 бля эта штука вполне может потягаться с хаскеллом по тому как криптик она выглядит и насколько ни одно ключевой слово/символ не выглядят относящимися к задаче которую они решают Поделиться сообщением Ссылка на сообщение
iKrivetko #272 12 марта 2019 Ну уж не знаю, чем две простые свёртки более "криптик", чем нагромождение циклов, ифов и мутаций. Поделиться сообщением Ссылка на сообщение
moonfangtopich #273 12 марта 2019 поссал на вышескинутую антигуманную хуйню для ботанов Поделиться сообщением Ссылка на сообщение
SKYnv #274 12 марта 2019 Есть массив:[5, 10, 11, 12, 13, 14, 17, 18, 19, 24, 25, 27, 28, 29, 31, 35, 36, 37];нужно прогнать его через функцию, чтобы получился следующий:["5", "10-14", "17-19", "24", "25", "27-29", "31", "35-37"] def collapse_array(initial_arr): collapsed_arr = [] i = 0 while i < len(initial_arr): start = initial_arr[i] end = initial_arr[i] j = 1 while i + j < len(initial_arr): if initial_arr[i + j] - start == j: end = initial_arr[i + j] j += 1 else: j -= 1 # go 1 step back to not overjump the nonconsecutive element under the index i+j break if start == end: collapsed_arr.append(str(start)) elif end - start == 1: collapsed_arr.append(str(start)) collapsed_arr.append(str(end)) else: collapsed_arr.append(f'{start}-{end}') i += 1 + j return collapsed_arrчисто угара ради! def collapse(lst): res = [] pos=0 while pos<len(lst): try: curr=lst[pos] if curr == lst[pos+1]-1: start = curr try: while lst[pos]+1 == lst[pos+1]: end=lst[pos+1] pos=pos+1 except IndexError: res.append(f'{start}-{end}') break if start != end-1: res.append(f'{start}-{end}') else: res.append(str(start)) res.append(str(end)) else: res.append(str(curr)) pos=pos+1 except IndexError: res.append(str(curr)) break return res << твой комментарий очень важен для форума. Поделиться сообщением Ссылка на сообщение
moonfangtopich #275 12 марта 2019 бесит код без вайтспейса между логическими блоками а также экономия символов в именах переменных Kant понравилось это Поделиться сообщением Ссылка на сообщение
JuJeu #276 12 марта 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. Поделиться сообщением Ссылка на сообщение
Kant #277 12 марта 2019 Arzanis, `KV и JuJeu понравилось это Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью. Поделиться сообщением Ссылка на сообщение
SKYnv #278 13 марта 2019 бесит код без вайтспейса между логическими блоками а также экономия символов в именах переменныхговорит человек с переменными i и j? ) В любом случае я писал чтобы это работало, но выглядело ужасно ) << твой комментарий очень важен для форума. Поделиться сообщением Ссылка на сообщение
AskMe- #279 13 марта 2019 страховка, питание, плюшки, кальян с хуящиком в релакс зонеСИРОПЫ JuJeu и Kant понравилось это Лишь ощутив баттхерт до конца, мы обретаем свободу Поделиться сообщением Ссылка на сообщение
KotZhilkina #280 13 марта 2019 страховка, питание, плюшки, кальян с хуящиком в релакс зонеСИРОПЫ нурофен чтоле? Публикация отключена Поделиться сообщением Ссылка на сообщение