sayo Bye

В теории до 10й минуты всё было понятно, а потом чет пошло поехало =D Вот что я понял: функция getMethod принимает два аргумента, self и 'имя функции'. Из self мы получаем тип карты, и находим для этого типа соответствующую функцию, название которой было передано во втором аргументе getMethod. Далее найдя эту функцию - она возвращается и мы просто вызываем её вторыми скобками в которые передается "пара" самой карты с её названием и функцией (урон).

Далее рассказывается про какой-то defmethod = definer('PercentCard'), немного не пойму зачем это нужно и чем является функция definer, какой у нее внутри код? Тут же говорится что новый тип = новый модуль, тоже немного не понял при чем здесь модули, ведь говорили только о какой-то таблице. То есть та самая "таблица" как-то реализована именно на модулях? И насколько я сейчас понял, внутренняя реализация функции defmethod скрыта абстракцией и нам просто нужно знать о том, что defmethod('getName', (card) => car(card)) добавляет в эту "таблицу" функцию (card) => car(card) под именем 'getName', при этом тип карты привязан где-то внутри defmethod. Правильно ли я понял? Заранее большое спасибо за ответ.

4 0

Александр О.

Добрый день!

Давайте начнём вот с чего: вы читали текстовую часть под видео урока? Там как раз подробно рассматриваются вопросы (про методы и таблицу), аналогичные вашим - всё без кавычек и без магии :)

0

sayo Bye

Прочитал, но всё равно почему-то осталось чувство, будто я что-то упустил или неправильно понял.

0

sayo Bye

По какой-то причине данная функция зацикливается, не пойму в чем причина.

// removed
0

sayo Bye

Подсмотрел пример учителя, думал что дело в целом в неправильной реализации, оказывается всё точно также, просто забыл return в модуле card.js перед getMethod...

0

Похожие вопросы

Александр Щербаков 25 декабря 2019 →

Здравствуйте! Как оценить какое решение лучше: ссылка (https://ru.hexlet.io/code_reviews/187321)

Alexander 15 декабря 2019 →

Здравствуйте! Подскажите в чем ошибка https://ru.hexlet.io/code_reviews/183489

Sorax X 14 декабря 2019 →

Решил данную задачу, но не без помощи Обсуждений. 1) Только увидел (кому то обьясняли как должна работать ф...

Влад Мельник 06 декабря 2019 →

Добрый вечер. Написал 3 функции, но есть небольшое недопонимание с getMethod. Тесты не проходят, подскажите...

Алексей Николаев 25 ноября 2019 →

Здравствуйте! Подскажите плз куда копать и вобще оно или я неправильно все понимаю?) https://ru.hexlet.io/...

Мы учим программированию с нуля до стажировки и работы. Попробуйте наш бесплатный курс «Введение в программирование» или полные программы обучения по Javascript, PHP, Python и Java.

Хекслет

Подробнее о том, почему наше обучение работает →