Сообщество Хекслета

Дмитрий Филатов 16 декабря 2016 →

80:(?=[^a-z]{1,}) Что я тут упускаю? Тесты пишут, что

  Expected value to be (using ===):
      "80"
    Received:
      "80:"

      at strings.forEach.string (__tests__/solution.test.js:15:26)
      at Array.forEach (native)
      at Object.it (__tests__/solution.test.js:12:13)

  regexp
    ✕ should match (5ms)
    ✓ should not match (1ms)

хотя на regex101 оно и не соответсвтует...

Andy 16 декабря 2016 →

Что-то в голове не особо укладывается следующая вещь из задания:

mv.visitVarInsn(Opcodes.ILOAD, 0);  
// это первый аргумент  a

mv.visitVarInsn(Opcodes.ILOAD, 1);
// это второй аргумент  b

mv.visitJumpInsn(Opcodes.IF_ICMPLT, elseLabel); 
// if (a < b) goto elseLabel - такой вариант у меня проходит тесты,
// т.е. дальнейшая логика строилась на таких предположениях. 

если принять во внимание вопрос из тестов:

В каком случае инструкция байткода IF_ICMPLT вернёт значение true?
...
Первое верхнее значение стека меньше второго верхнего значения стека

Задание-то как-то прошло, но я вообще запутался. Либо получается, что каждая следующая строка mv.visitVarInsn(Opcodes.ILOAD, x); добавляет в стек переменную не наверх, а чудесным образом в самую глубину (но это уже не похоже на стек). Либо метка elseLabel действительно ELSE (т.е. переход на нее происходит не по true, а по false), но это противоречит последнему предложению из описания Данный код добавляет инструкцию IF_ICMPLE с меткой "elseLabel"., ведь в видео на 15:00 говорилось о том, что инструкция IF_ICMPLE elseLabel бросит выполнение на строчку, если LE будет true.

Anton Ternovski 16 декабря 2016 →

Зарылся я в общем, в следующем курсе, чувствую, чего-то не достает. Стал пересматривать предыдущий, и мне стало непонятно, что здесь:</br> const newAcc = func(item) ? cons(item, acc) : acc;</br> делает func, которая вначале является формальным параметром.

Эльдар 16 декабря 2016 →

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

Vladislav Korchuganov 16 декабря 2016 →

Рекомендуете ли вы macOS как десктопную систему для JavaScript программиста?

Andy 16 декабря 2016 →

Задание оставляет больше вопросов, чем ответов:

  1. Например, у меня проходит mv.visitMaxs(1, 1);.
  2. И почему эта строчка должна быть расположена не раньше блока работы с локальными переменными (где используется visitVarInsn), хотя логичнее было бы определять размеры в начале (в конце их и машина могла бы сосчитать).
  3. Почему в конструкторе ссылку на this клали в стек (mv.visitVarInsn(Opcodes.ALOAD, 0);), а в методе нет - т.е. зачем она вообще нужна в конструкторе, если он пустой, и обращения к this нет.

Евгений Изотов 16 декабря 2016 →

Спасибо за этот курс. Было тяжело (LinkedList), но очень интересно

Владимир Семёнов 16 декабря 2016 →

''' const n = Math.floor((end - begin)/step) + 1; const a1 = begin; const an = a1 + (n - 1) * step; return (a1 + an) / 2 * n; ''' Такой код почему-то проходит тесты (сумма арифметической последовательности)

Бондаренко Анастасия 16 декабря 2016 →

Здравствуйте! А зачем радиус делать константой?Это же непостоянное значение. И в теории радиус тоже не делали константой. И еще вопрос: зачем в поле для редактирования уже присутствует константа пи? Мы же, вроде как, сами должны производить все операции.

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

Хекслет

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