Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Про поедателя пельменей
- roman_gemini [10:18 AM]
- @point212 помнишь reduce?
- point212 [10:18 AM]
- ну вообще да
- roman_gemini
- [10:19 AM]
- у тебя есть массив чисел. надо найти произведение этих чисел. как ты это сделаешь?
- point212 [10:19 AM]
- я тут уже от всех жду вопросов с подвохом )
- roman_gemini
- [10:20 AM]
- не
- point212 [10:20 AM]
- через reduce? `array.reduce( (acc, element) => acc * element );` примерно так (edited)
- roman_gemini
- [10:21 AM]
- а чем ты инициализируешь аккумулятор в этом случае? допустим что .reduce требует второй агрумент обязательно указывать в качестве начального состояния аккумулятора
- point212 [10:22 AM]
- кстати интересный вопрос. я даже не задумывался, а чем он инициализируется..
- roman_gemini
- [10:23 AM]
- вот)
- [10:23]
- он инициализируется нейтральным элементом
- vsc [10:23 AM]
- Посоветуйте плиз что-то по написанию js кода в плане стиля. Что-то где есть ответы на вопросы вроде: когда использовать тернарный оператор, а когда нет, или когда использовать цепочки if/else, а когда switch, итд. Что-то вроде такого: https://developer.mozilla.org/ru/docs/Developer_Guide/Coding_Style
- Mozilla Developer Network
- Coding Style
- Этот документ объяcняет основные стили и шаблоны, которые используются в коде Mozilla. Новый код должен соответствовать этим нормам, чтобы было проще поддерживать существующий код. Конечно, для каждого правила возможно исключение, но тем не менее важно знать эти правила!
- roman_gemini [10:23 AM]
- чему он равен - зависит от бинарной операции
- [10:23]
- подумай
- [10:24]
- x * 1 * 2 * 3 = 1 * 2 * 3
- [10:24]
- чему равен x?
- point212 [10:24 AM]
- 1
- roman_gemini
- [10:24 AM]
- тада
- [10:24]
- вот тебе первый моноид
- [10:24]
- 1 - нейтральный элемент
- [10:24]
- а если надо сумму посчитать?
- [10:25]
- чисел
- point212 [10:25 AM]
- 0 видимо будет
- roman_gemini
- [10:25 AM]
- ага
- [10:25]
- а если ты обходишь массив и результатом тоже должен быть массив
- [10:25]
- что нейтральный эллемент?
- point212 [10:25 AM]
- пустой массив видимо
- roman_gemini
- [10:25 AM]
- верно)
- [10:26]
- теперь прочитай первые два абзаца в википедии в контексте этого
- [10:26]
- )
- point212 [10:26 AM]
- ОКе. Сейчас пойду прочитаю.
- [10:26]
- Надо только пельмени выключить. А то они судя по запаху перестали вариться и начали жариться
- Denis Strelkov [10:29 AM]
- Курс прототипы очень мощно начинается. Вот это задания. :grimacing:
- point212 [10:34 AM]
- @roman_gemini первый абзац понял. второй не очень. ЧТо значит "моноиды обобщают свойства композиции функций". ЗЫ нас не погонят отсюда? может в #computer_science ?
- roman_gemini [10:34 AM]
- окей. только первый абзац тогда. дальше думай сам, а я завтракать пошел)
- point212 [10:35 AM]
- Спасибо.
- ivana [10:35 AM]
- А про моноиды после ~энциклопедии юных сурков~ википедии можно статью Дэна Пипони почитать здесь http://fprog.ru/2009/issue1/practice-fp-1-screen.pdf, потом еще море материалов на том же Хабре и на закуску мои потуги https://habrahabr.ru/post/328110/ (edited)
- point212 [10:35 AM]
- Попробую дотумкать
- [10:35]
- Спасибо. Почитаю.
- roman_gemini
- [10:36 AM]
- да, кстати
- roman_gemini [10:36 AM]
- если имеем композицию функций - что является нейтральным элементом? (edited)
- 2 replies Last reply today at 10:42 AM View thread
- ivana [10:38 AM]
- сакраментальный вопрос вчерашней ночи (edited)
- [10:38]
- но надо узреть там моноид, да :slightly_smiling_face:
- Denis Strelkov [10:39 AM]
- Кто читал совершенный код? Когда наступит понимание того о чем там речь, если вести параллель с хекслетом? Сейчас я только начал курс прототипы, а в книге во всю идет речь про приватные методы в классах и наследование, соответственно мне пока ничего не понятно. (edited)
- ivana [10:39 AM]
- этак мы глядишь и до моноидов в категории эндофункторов (С) дойдем, раз уже на эндоморфизмы под композицией покушаемся :slightly_smiling_face: (edited)
- roman_gemini
- [10:39 AM]
- кто не писал своих лиспов - тем трудно понять )))
- point212 [10:41 AM]
- Композиция функций, это в смысле foo ( bar () ) ?
- Я что-то не очень представляю себе как там может возникнуть ситуация с аккумулятором, подобная вышеописанной.
- Но наверное нейтральный элемент будет id = x => x; В смысле фукнция, которая возвращает что ей передано
- Roman Lakhtadyr
- если имеем композицию функций - что является нейтральным элементом?
- Thread in #generalToday at 10:36 AM
- roman_gemini
- [10:42 AM]
- верно)
- ivana [10:42 AM]
- вот варит человек пельмени, и не видит в этом моноида... а он очевиден - нейтральный элемент пустой пельмень, операция - склейка пельменей в комок
- roman_gemini
- [10:43 AM]
- :smile:
- ivana [10:44 AM]
- вот пишет человек сообщение в чат и не видит в этом моноида - а нейтральный элемент - промолчать, операция - добавка сообщения в общий список
- kirill.mokevnin [10:44 AM]
- `foo ( bar () ) ` это не композиция функций
- 4 replies Last reply today at 10:51 AM View thread
- mattspr [10:46 AM]
- почему?
- noclue
- [10:46 AM]
- там вызов, изз за этого?
- ivana [10:46 AM]
- вот живет человек и не видит в своей жизни моноида. а нейльтральный элемент - бездарно прожитый день, операция - аддитивное накомпление опыта
- [10:47]
- не композиция - потому что аргумент не протаскивается
- roman_gemini [10:47 AM]
- и да, вызов
- ivana [10:47 AM]
- нужна труба, или пайп, как Кирилл говорит
- point212 [10:48 AM]
- Ээээ...
- mattspr [10:48 AM]
- не понятно
- point212 [10:48 AM]
- Ну я как знал записал
- ivana [10:48 AM]
- Что тут может быть непонятного?
- point212 [10:48 AM]
- А какая разница foo.bar или foo ( bar )
- mattspr [10:48 AM]
- `Компози́ция фу́нкций— это применение одной функции к результату другой.` так?
- ivana [10:48 AM]
- нет
- [10:49]
- это бинарный функциональный оператор
- roman_gemini [10:49 AM]
- вот так сварит человек пельмени и познает моноид
- point212 [10:51 AM]
- Пока не ясно что это даёт. Но интересно ж, блин.
- ivana [10:52 AM]
- Законы дает и следствия из них
- Vladimir Gordeev
- [10:52 AM]
- bar :: A -> B
- foo :: B -> C
- g :: A -> C
- g(x) = foo(bar(x)) (edited)
- point212 [10:52 AM]
- Ну так всё таки, в более практическом смысле нежели наука чем является композиция функций?
- Vladimir Gordeev
- [10:52 AM]
- чому не композиция?
- ivana [10:52 AM]
- и Абстрагирование кучи разных операций под одну крышу
- [10:52]
- вот не надо потом иксы дописывать после вопроса
- Vladimir Gordeev [10:53 AM]
- ага, окей
- ivana [10:53 AM]
- вначале их не було
- Vladimir Gordeev [10:53 AM]
- ну да, дописал (edited)
- [10:53]
- иначе выражение смысла не имееет
- ivana [10:53 AM]
- и еще - что являетстя аргументами и результатом композиции?
- [10:53]
- иначе - имеет, но другой
- Vladimir Gordeev [10:53 AM]
- томущо bar() вообще не функция тогда
- ivana [10:53 AM]
- нульарный функции не видел?
- Vladimir Gordeev [10:53 AM]
- окей, константа
- ivana [10:54 AM]
- тяжело вам в Эрланге :slightly_smiling_face:
- [10:54]
- >и еще - что являетстя аргументами и результатом композиции?
- [10:55]
- можно начать попроще - что является аргументами и результатом сложения?
- Vladimir Gordeev [10:56 AM]
- и вот хрен проссышь, говорит он про числа, или с подъёбом про группы.
- ivana [10:57 AM]
- я хочу чтобы дошло, что такое "бинарная операция на множестве"
- [10:57]
- это тривиальное понятие, которое не видят как оказалось в композиции функций
- [10:58]
- что такое вообще замкнутая на множестве операция (по определению операции а не отображения)
- k1s [10:59 AM]
- моноид это всего лишь полугруппа с единицей, устроили тут
- mattspr [10:59 AM]
- результат операции на множестве пренадлежит этому множетсу?
- ivana [10:59 AM]
- бинго
- point212 [10:59 AM]
- Погоди... композицией функций является тоже функцией?
- ivana [10:59 AM]
- прикинь!
- [10:59]
- день открытий прям
- point212 [11:00 AM]
- Хм... ну в принципе логично. Если не начинать вычислять сразу же. А как в математике на листочке писать формулы. То это все функции
- mattspr [11:00 AM]
- во теперь понятно
- ivana [11:00 AM]
- вчерашний товарищ погорел именно на том ,что тоже порывался все сразу вычислять
- [11:01]
- теперь понимай слова "бинарный ассоциативный функциональный оператор"
- point212 [11:02 AM]
- Слишком резкий переход :slightly_smiling_face: Много терминов, значение которых надо четко знать.
- Бинарный - значит у него два эээ... аргумента? ассоциативный - это значит что порядок аргументов важен. и от их перестановки меняется смысл.
- функциональный - ??? не знаю.
- ivana [11:03 AM]
- да, слова путать не надо. и коммутативность от ассоциативности надо отличать
- [11:03]
- но тут осталось чуть-чуть подумать, и первый шажок к пельменям как моноиду будет сделан
- point212 [11:03 AM]
- В последний раз я чётко разбирался в этом в ПТУ на дискретной математике в 2005 году.
- ivana [11:04 AM]
- но сейчас ты по своей воле в это полез - будь добр рефрешь знания
- point212 [11:04 AM]
- :slightly_smiling_face:
- [11:05]
- Я честно говоря не знаю что дальше делать. Ну если только не бросить беседу, и не полезть читать статьи.
- Гадать разве что.
- ivana [11:06 AM]
- Это надо было сделать еще вчера - читать статьи, а не писатиь свои далекие от истины догадки
- roman_gemini [11:06 AM]
- гадать? так ты еще не понял?
- point212 [11:07 AM]
- Ну выходит что не понял
- ivana [11:07 AM]
- на морковках и числах все понимают, а до абстракции на любые объекты нужно чуть воображения :slightly_smiling_face:
- roman_gemini
- [11:09 AM]
- @point212 что не понял? ассоциативность или моноид?
- point212 [11:09 AM]
- "бинарный ассоциативный функциональный оператор"
- [11:09]
- функциональный не понял
- [11:10]
- Что это значит?
- [11:10]
- В результате применения мы получаем новый элемент?
- ivana [11:10 AM]
- ассоциативный понять сложнее функционального :slightly_smiling_face: хотя тоже просто :slightly_smiling_face:
- point212 [11:10 AM]
- Я ж говорю. Я могу только гадать
- ivana [11:10 AM]
- Читать статьи не можешь?
- point212 [11:10 AM]
- Ассоциативности и коммуникативности меня тоже научили. На простых примерах на доске.
- ivana [11:10 AM]
- Окей.
- point212 [11:10 AM]
- Ну вот прям-прям сейчас не могу.
- ivana [11:11 AM]
- Функциональный - значит на функциях
- [11:11]
- производная - линейный унарный функциональный оператор.
- [11:12]
- композиция - ассоциативный бинарный
- [11:12]
- давай картошку, пельмени, и как Чапаев в фильме
- [11:13]
- тут мы, тут белые, тут я на лихом коне
- point212 [11:13 AM]
- Т.е. 1 - 2 <--- тут вычитание бинарный ассоциативный оператор. но не функциональный.
- ivana [11:13 AM]
- тут одна функция, тут другая, тут треться... тут мы их композируем сленапра, тут спранале, толучаем результат
- [11:14]
- с какого ассоциативный то?
- point212 [11:14 AM]
- Запутал ты меня
- ivana [11:14 AM]
- в математике за базар отвечать надо
- roman_gemini [11:14 AM]
- 1 - 2 - 3 - 4 * 5
- ivana [11:14 AM]
- ботаешь по фене - узнай смысл терминов
- roman_gemini [11:14 AM]
- в каком порядке вычисляться будет?
- point212 [11:15 AM]
- Умножение в первую очередь. А вот вычитания хз. В любом порядке их можно вычитать.
- ivana [11:16 AM]
- оказалось ,корень проблемы глубже
- roman_gemini
- [11:16 AM]
- ууу
- point212 [11:16 AM]
- Да ладно? А что, не в любом?
- ivana [11:16 AM]
- пока ешь пельмени - задание - посчитай на листочке (edited)
- point212 [11:17 AM]
- Я уже всё давно съел. На работу тоже давно забил. Всех игнорю. Сижу вот пытаюсь понять.
- roman_gemini
- [11:17 AM]
- 1 - 2 - 3 - 4 = ?
- [11:17]
- чему равно?
- point212 [11:18 AM]
- 0 вроде.
- ivana [11:18 AM]
- соседи не спят, но все равно мощно
- point212 [11:19 AM]
- Какие соседи? %)
- [11:19]
- У меня бошка щас лопнет походу )
- mattspr [11:19 AM]
- приплыли)
- pandabear [11:19 AM]
- вроде - плюс минус пять
- snupt
- [11:19 AM]
- жесть
- pandabear [11:19 AM]
- пацаны чё вообще происходит)
- akosorotov [11:19 AM]
- арихметика
- pandabear [11:20 AM]
- 1 - 2 = ?
- [11:20]
- :kolobok:
- point212 [11:20 AM]
- тьфу. совсем мне мозги запудрили. -8 конечно
- roman_gemini
- [11:21 AM]
- а почему сначала за 0 подумал?
- point212 [11:21 AM]
- не знаю как тут учиться, попутно работая. Надо наверное отпуск брать
- [11:21]
- Да потому что я 1 -2 -3 правильно отнял. А потом взял и прибавил +4
- [11:21]
- Щас у меня еще грузчики шкаф начнут выносить. Будет совсем весело :slightly_smiling_face:
- mattspr [11:22 AM]
- за каждый неверный ответ грузчики выносят мебель
- roman_gemini [11:22 AM]
- @point212 вот теперь порефлексируй как ты вычислил -8
- ivana [11:23 AM]
- ну за это надо шкаф, да
- noclue [11:23 AM]
- холодильник
- roman_gemini
- [11:24 AM]
- в каком порядке
- [11:24]
- пока не вынесли стол
- point212 [11:24 AM]
- Холодильник же на кону
- [11:24]
- Блин.. а ведь правда. Я то вычислил как привычнее слева на право.
- [11:24]
- Но думал что можно вычислить в любом месте, потом подставить, и опять вычислить. А не выходит.
- roman_gemini [11:25 AM]
- вычислить, потодо догнать подставить и еще раз вычислить
- ivana [11:26 AM]
- воистину, программистам математика не нужна! :kolobok:
- roman_gemini [11:26 AM]
- так вот, у операции “-” какая ассоциативность?
- grigory14 [11:26 AM]
- Мля, народ вы хоть в треде от единиц двойки-тройки отнимайте
- point212 [11:26 AM]
- Говорил же погонят
- [11:26]
- Ну вестимо что левая.
- [11:26]
- Я как то не задумывался об этом даже.
- roman_gemini
- [11:27 AM]
- >> теперь понимай слова “бинарный ассоциативный функциональный оператор”
- point212 [11:31 AM]
- Тогда не ясно каким образом он бинарный.
- [11:31]
- Злые вы. Без холодильника мне теперь как?
- [11:31]
- :wink:
- [11:31]
- Просто до этого все что мы обсуждали базировалось на известных вещах, пройденных в школе.
- Представить новый оператор, без описания того что он делает, просто по его свойствам - это что-то новенькое для мозга
- ivana [11:31 AM]
- Композиция предпочитает групповые удовольствия - с одним ей скучно уже
- point212 [11:32 AM]
- Ну вот ты и того товарища затролли. Который Регистооооо. Алекс_р хоть пытался ему пояснить.
- [11:34]
- ну окей. вот этот оператор . ( точка) соединяет две функции
- [11:34]
- порядок важен.
- [11:34]
- я не врублюсь что нужно понять
- ivana [11:35 AM]
- Академик Арнольд (покойный) как то писал (в свете его полемики с Бурбакистами), что во французской школе одного первоклассника спросили - сколько будет 3+2. Он ответил что не знает ,но точно знает,, что столько же сколько 2+3, потому что операция сложения коммутативна. Риал стори, могу ссылку на статью найти.
- 5 replies Last reply today at 12:09 PM View thread
- ivana [11:35 AM]
- Ниче не надо понять - кому надо уже все поняли...
- point212 [11:37 AM]
- Ну ладно. Значит пойду работать.
- [11:37]
- Спасибо за попытку объяснить
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement