Дополнение: В предыдущих уроках уже писал, но тут более актуально. Есть интересная фитча дескрипторов, о которой мало кто знает с манипуляцией stdin/stdout. $ < file cat # равносильно cat file или cat < file $ < file grep "something" # равносильно grep "something" file В последнем случае особенно удобно...

Добавление. Многий софт выводит информационные сообщения и справку посредством утилиты установленной в переменной окружения PAGER. Проверить можно так: bash $ echo $PAGER less Если pager не задан, можно задать, добавив в ~/.profile строчку: export PAGER=less Еще существует распространенная ошибка новичков, которы...

Периодически натыкаюсь на ошибку TypeError: pair is not a function Раньше это было из-за неправильного порядка аргументов при вызове cons. Сейчас же определить источник ошибки не получается.

Логично что в этом курсе не упомянули про суть .. , . но зато сказали что это "специальное обозначение", что не верно в том контексте и может создать неправильное представление у обучающихся. Это не специальное обозначение. Это жесткая ссылка на предыдущий каталог. Проверить это можно посмотрев номер inode у .. и у ...

Ребят, ну не серьезно. Народ учите. Какая папка? Нету такого определения в unix системах. "Папка" это убогий перевод русскоязычной версии Windows. В unix системах можно называть каталоги, но правильней директории, но никак не "папки". Очень сильно режет ухо, а в русскоязычном комьюнити это считается грубым моветоном...

Мое решение: http://joxi.ru/VrwlG8KsKPkVym. На ум сразу пришла рекурсия

детерминированная-ожидаемый результат(как я понял) недетерминированная-результат не ожидаем(как я понял) Дана функция, которая принимает день рождения пользователя (день, месяц и год), и возвращает его возраcт. Какая это функция? Так вот почему недетерминированная? Результат та ожидаем

Пишет -bash: javac: команда не найдена Не понимаю(

Этот урок мне очень понравился! Просто, почувствовал как сдвинулось что то. Хотя задачу решил не так как учитель )). Спасибо за урок!

Спасибо огромное за качественные уроки!

Объясните, почему мой код не хочет правильно работать? `function fringe($tree){ $iter = function($tree, $acc) use (&$iter){ if($tree == null){ return $acc; } if(isPair(car($tree))){ $newAcc = fringe(car($tree)); $temp = car(reverse($newAcc)); // Ошибка тут же? return $iter(cdr($tree), cons(car(...

Как можно запускать свой код? в курсе PHP там через терминал, а здесь как? repl.it со строками работать отказывается

Если у нас нет доступа к коду где замыкание присваивается $func, как можно определить какую функцию, какие аргументы ожидает функция которую содержит переменная $func? В данном уроке это не важно, а вообще очень интересно.

Раз уж можно использовать готовые функции, правильно ли будет применить такое решение? // removed

Не понятно НИ-ФИ-ГА

Корректно ли будет написать так: //removed Тесты проходит.

Здравствуйте! Почему-то не проходит код: ``` function compose ($func) { return function ($var) use (&$func) { if ($func == []) { return $var; } $list = null; foreach ($func as $function) { $list = cons ($function, $list); } $item = function ($list, $a...

Почему при выполнении условий задания я всё равно не могу завершить урок?! // BEGIN (write your solution here) export default ref = (x) => { return x * y; }; // END Вот вывод: `` make: Entering directory/usr/src/app' babel-node --presets=es2015 test.js /usr/src/app/reference.js:8 exports.default = ref = functi...

Честно сказать, не совсем понял разницу между инструкциями и выражениями. Т.е. вообщем то понятно, но зачем так заострять на этом внимание? я правильно понял, что инструкция это строка кода: echo, print_r, 10 и т.д. а выражение это вычисление: 7+3 Т.е. 7+3 и 10 это не эквиваленты между собой, а в уроке вроде как ска...

Зачем метод setFigure в model, если у нас есть такой же applyFigure в MoveController?

Я не понимаю логики решения этого задания. Объясните, пожалуйста.

На 9:45 говорится об императивной записи, а на слайде написано "итеративный процесс". Я что-то не понимают, итеративный и императивный это одно и то же?

Дан код: ``` public class Main { public static void main(String[] args){ /Строка 1/ Transport transport = new Airplane(); /Строка 2/ Airplane f117 = new Airplane(); /Строка 3/ transport.onFly(); /Строка 4/ (Fly)transport.onFly(); /Строка 5/ ((Fly)transport).onFl...

Толи лыжи не едут... Короче нужен help. Не вижу проблему. На локальном ведет себя также. При выводе временного массива, его размера (в него попадают элементы прошедшие проверку) на каждом проходе все так как и ожидается, но в итоге он не попадает в итоговый массив. `` make: Entering directory/usr/src/app' PHPUnit 5...

Как же меня достаёт писать перед переменной '$' каждый раз... function reverse($list) { $iter = function($list) use (&$iter) { if($list == null){ return $iter; } return cons($iter(cdr($list)), car($list)); }; return cons($iter, null); } Никак не пойму, почему у меня вывод...

Почему тест возвращает 7, вроде должно быть 8. longestLength('jabjcdel'); // 7

В задании не указано, что нужно написать 3 проверки :)

Ruby не только императивный, Ruby мультипарадигменный, просто на него много Java`вистов переходит вот и пишут ruby программу думая логикой java :(

В практике к 14 уроку написано "эти две настройки будут описаны ниже". Описание первой в наличии, а вот описание второй - так и не обнаружил) Так же интересует вопрос о подключении файла настроек. Так и не понял как его подключать и каков он должен быть. Где можно об этом почитать, или может кто вразумит немножко?

Трудное для меня задание. Я не могу понять как протащить состояние о текущем теге (состояние об узле), когда редьюсу нужно спускаться ниже. Очень прошу помочь. Вот мой код. Я знаю, мой код - полная чушь. Просто хочу показать, что я пытался что-то делать :) export const select = (query, html) => { // const filtered =...

Почему и корректнее ли использовать name(element) === 'blockquote' вместо is('blockquote', element) при решении практики?

зачем нужна функция f, если она всегда эквивалентна y?

Предположим что бог №1 - бог Лжи, №2 - бог случая, №3 - бог правды, Спросив у бога лжи "является ли бог под номером 3 богом случая ?", бог лжи ответит "Да". Так почему бог под номером 2 не может быть богом случая ? Я чуть свои мозги не выплюнул, третий раз это видео пересматриваю. Ответьте, кто-нибудь. Мне нужно бол...

11:45 Предикат А(x,y) означает, что х является предком y. Далее говорится, что запись (огромная запись, которую мне лень писать)читается как "для любого человека х найдется предок y". В качестве примера возьмем за истину предикат А(x,y), тогда я - y (потомок), мой отец - x (предок). А запись твердит обратное. Я - х ...

Объясните,пожалуйста. В чем тут проблема? Знаю, что она есть, но не вижу. function fringe ($list) { $iter = function($items, $acc) use (&$iter) { if (!$items) return $acc; $element = car($items); if (isPair($element)) { $result = fringe($element); } ...

$data = $klass::parse($filepath, $options); Что делает метод parse в этой строке?

При вступлении в одну из профессий, а затем вступлении в другую и выходе из нее, в профиле не отображается выбранная профессия, хотя первая выбрана. При выходе из первой профессии и повторном вступлении она корректно отображается в профиле. О невозможности выбора одновременно более одной профессии знаю.

Решил задание с использованием arraykeyexists. В решении учителя используется isset. Из документации понял, что arraykeyexists проверяет наличие ключа, а isset наличие значения по ключу. Есть ли разница между этими способами в данном примере? И в каких случаях один из этих вариантов будет более предпочтительным чем ...

а я вот не понял как сохраняется значение balance, ведь при $a= newAccount(100) не вызывается никакая функция, присваивания тоже нигде нет.. как эти 100 сохраняются в переменной $balance?

Задание к практике: Создайте функцию findIndex, которая находит элемент в двоичном дереве поиска Binary Search Tree. Дерево представлено в виде массива. Ваша функция должна возвращать индекс найденного элемента. В случае если дерево (массив) пустое или искомый элемент внутри этого дерева не представлен, функция долж...

Здравствуйте, не могу ответить на вопрос "Зачем нужна возможность определять собственные функции?" Чтобы переопределять встроенные функции - все круто переопределение методов нам подходит. Для сокращения дублирования кода - создаем метод и тем самым получаем абстракцию, подходит. Для понижения уровня абстракции - ...

Почему надо при реализации функции filter присваивать отдельной константе голову списка? Функция сравнения не принимает голову. Какой механизм за этим стоит?

А какую четность имеет null?

Кирилл привет, подскажи пжлста как можно увидеть результат выполнения/вызова каждой инструкции. онлайн интерпретатор типа - repl.it выводит только конечный результат вроде.

export const smallestDivisor = (n) => { const iter = (n, divisor) => { if(n === divisor){ return 1; } if(n % divisor === 0){ return divisor; } return iter(divisor + 1); }; return iter(2); }; не пойму никак что не так(

У меня не получилось через рекурсию, итеративно только смог. Я в печали. Где можно побольше и глубже поччитать про рекрсивный и итератинвый методы? Может с задачи даже.

Здравствуйте! Не прохожу тесты.. ``` function fringe ($list) { $iter = function ($list, $acc) use (&$iter, &$func) { if ($list === null) { return $acc; } $el = car ($list); if (isPair ($el)) { $acc = $func ($el, $acc); } else { $acc = cons ($el, $acc); ...

Пробовал использовать пример из задания $u1 = User\make(4); $u2 = User\make(3); $u3 = User\make(5); $u4 = User\make(4); $u5 = User\make(5); Получил ошибку PHP Fatal error: Call to undefined function App\Solution\make() in /usr/src/app/Solution.php on line 16 PHP Stack trace: ...

Прошу помощи. Не понятен принцип работы конструктора: // remove Он принимает на вход значения пары и возвращает лямбду которая в свою очередь принимает на вход другую лямбду (которую должны будут передать селекторы) и возвращает результат работы этой лямбды в кач. аргументов которой замыкаются значения пары. При в...

Пересмотрел на много раз теорию этого урока и предыдущего и всё-равно не понял решение даже подсмотрев в ответ( Что вообще такое знак "=>"? Как можно расшифровать эту запись хотя бы на псевдокоде: const cons = (x, y) => (m) => m(x, y); Мы создаем функцию cons, которая принимает себе в качестве аргументов x и y, а ...