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

Ivan Zagainov 02 апреля 2018 →

Мой алгоритм решения задач на Хекслете:

  1. Читаешь условие
  2. Кричишь как Бернард Блэк на налоговую декларацию
  3. На бумаге изображаешь пошаговый алгоритм
  4. Пытаешься его воспроизвести на pythontutor, подглядывая в старые задачки
  5. Выключаешь телефон и компьютер, ходишь кругами по комнате, плохо спишь
  6. Чувствуешь себя идиотом
  7. Неожиданно решаешь задачу, радуешься, чувствуешь себя гением 3 те секунды, пока задача проходит проверку линтером
  8. Смотришь решение учителя, возвращаешься к шагу 6

Лиса 02 апреля 2018 →

1.Здравствуйте, а что означает // @flow в файле half.test.js?

// @flow
import half from '../src';

test('half', () => {
  expect(half(6)).toBe(3);
});

2.И зачем установлен gulp в зависимостях в packege.json?

3.И еще не совсем понятно назначение в packege.json, вот этих строк:

"engines": {
    "node": ">=8"
  },
"bugs": {
    "url": "https://github.com/hexlet-boilerplates/nodejs-package/issues"
  },
"jest": {
    "testEnvironment": "node"
  },
  1. Для чего нужны файлы Makefile, .travis.yml, .flowconfig?

Имя Фамилия 01 апреля 2018 →

До решения учителя сам бы точно не догадался, а у самого получилось вот так: https://ru.hexlet.io/code_reviews/44143 Вроде бы ничего криминального там не сделал, но не совсем уверен в Array.from(set). В уроках об этом упоминалось, потому применил здесь, а "в жизни" нормально ли использовать такой способ для удаления дубликатов?

Сергей Назаров 01 апреля 2018 →

я решил не выпендриваться и сделал со старым добрым while. Решение учителя осознал :) Решение

Виталий Караман 01 апреля 2018 →

Я долго не мог понять почему мой код не работает, пока не открыл урок в виндовс http://prntscr.com/izewg9 . На Mac OS кирилических символов не было видно, баг?

Виталий Караман 01 апреля 2018 →

Про слияние массивов нет информации вообще, почему при слиянии массивов [1, 2, 3, 5] + [8, 1, 2] получается [1, 2, 5] ?

user-3d8d5635658248f4 01 апреля 2018 →

Доброго дня. Если я правильно понял: допустим B наследуется от A, тогда мы можем сделать так:

A b = new B()

У меня вопрос - какие ограничения при этом накладываются на b и зачем нам может понадобится подобное объявление вообще? Спасибо.

Ilmir Gilmiyarov 01 апреля 2018 →

всем прив, не смог сделать задание, прибег к решению учителя, попробовал запустить, но компилятор все равно ругается /usr/src/app/smallestDivisor.js: 'return' outside of function (15:2), как быть в чем проблема? попробовал фигурные скобки переставить, эффекта не дало

va 01 апреля 2018 →

Не пойму, почему ругается?

make: Entering directory '/usr/src/app'
jest --colors
 FAIL  __tests__/finalGrade.test.js
  ● Test suite failed to run

    /usr/src/app/finalGrade.js: 'import' and 'export' may only appear at the top level (14:0)
        12 | // END
        13 | 
      > 14 | export default finalGrade;
           | ^
        15 | 

Test Suites: 1 failed, 1 total
Tests:       0 total
Snapshots:   0 total
Time:        0.874s
Ran all test suites.
Makefile:2: recipe for target 'test' failed
make: Leaving directory '/usr/src/app'
make: *** [test] Error 1

Руслан Сухарев 01 апреля 2018 →

Ох, трудное задание для понимания. Для чего файл в папке implementations? Почему не получается проверить отрицательное число?

#   
#   /usr/src/app/implementations/index.js:10
#       exports.factorial = factorial = num => {
#                                       ^
#   
#   RangeError: Maximum call stack size exceeded

Я предполагал что функция проверяет аргумент отрицательный он или нет, но даже если и нет, то почему зависает?