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

Владимир Коченов 19 минут назад →

Подскажите, правильно ли я понял?

Если определить метод внутри синтаксиса класса, то он будет определен в объекте-прототипе и будет доступен напрямую через его экземпляр.

class Money {
  setRate(..) {
    ...
  }
}

// Тоже что и:
// Money.prototype.setRate = ...

Если определить метод, через точку, как свойство объекта функции (класса), то это и есть статический метод (свойство), который не записывается в прототип, но доступен через свойство constructor.

Money.setRate = function setRate(..) {
  ...
}

Статические свойства и методы не используются напрямую экземплярами класса и работают только на внутреннюю "кухню".
И я так понимаю, это плохая практика, когда экземпляр обращается к статическому свойству конструктора (через constructor).

function Foo() {
  ..
}

Foo.prototype.bar = ... // метод для экземпляров

Foo.baz = ... // статический, внутренний метод, которым, например, пользуются методы для экземпляров

const obj = new Foo();
obj.baz(); // Хорошо
obj.constructor.bar(); // Плохо

Или я вообще всё не так понял)

Константин Лозовский около 1 часа назад →

Всем привет! Вот, значит, написал я функцию: https://ru.hexlet.io/code_reviews/243008 Но она не хочет выдавать итоговый результат сложения цифр, хотя он есть (проверено в pythontutor). Отдельную функцию для суммирования чисел не писал. Вот, как думает мой код:

  1. 38 = 3+8 = 11;
  2. 11 = 1+1 = 2
  3. Возвращает 11. Как исправить (если это вообще возможно)?

Александр Кучумов около 1 часа назад →

Доброй ночи. Исходя из задания на линтер не стоит обращать внимания, надеюсь правильно понял. Почему не могу пройти тест? https://ru.hexlet.io/code_reviews/242996#

Илья Захаров около 1 часа назад →

Здравствуйте! Уточните, пожалуйста, нужен ли здесь блок try/catch? В решении учителя он отсутствует, а тексте урока в коде есть фраза "вызывающий код должен иметь возможность отловить ошибку". Если нужен, то правильно ли его применять так, как в моем решении? код-ревью. Ведь ошибки могут возникнуть при каждой из используемых операций.

Андрей Мищенко около 1 часа назад →

Здравствуйте.

Судя по онлайн-валидаторам, например, этому, адрес 2a02:0cb41:0:0:0:0:0:7, фигурирующий в тестах как валидный, на самом деле невалиден. А 1001:208:67:4f00:e3::2c6:0 - наоборот.

Александр Паутина около 2 часов назад →

Задача: Простое число — натуральное (целое положительное) число (больше единицы), имеющее ровно два различных натуральных делителя — единицу и самого себя.

Мой код:

// BEGIN (write your solution here)
const isPrime  = (num) => {

    if (num < 2) {
        return false;  
    }

    let i = 2; 
    while ( i < num ){
        if (num % i == 0) {
            return false;  
        }
        i += 1;  
      }
    return true;
  }
// END
export default isPrime;

Код преподавателя:

// BEGIN
// Visualize Execution: https://goo.gl/lkO59x
const isPrime = (num) => {
  if (num < 2) {
    return false;
  }

  let i = 2;

  while (i <= num / 2) {
    if (num % i === 0) {
      return false;
    }
    i += 1; // вместо i++;
  }

  return true;
};

export default isPrime;
// END

Вопрос: зачем преподаватель в цикле num делит на 2? В моем случае аналогичный код и результат тот же.

Вильдан Фазлыев около 3 часов назад →

Когда в теории используется функция reduce

use function PhpTrees\Trees\reduce;

Это функция какой либо библиотеки или это та функция, которую мы написали на прошлом уроке и это является универсальной реализацией?

Dmitry Makovsky около 3 часов назад →

Застрял на задании, вроде всё должно быть правильно, но тесты падают ревью Подскажите пожалуйста куда копать?

Олег Бородин около 4 часов назад →

В видео преподаватель делает такой запрос:

telnet httpwatch.com 80 | less

GET /httpgallery/chunked/chunkedimage.aspx?0.018236515810713172 HTTP/1.1
Host: www.httpwatch.com
Connection: close

Что означают цифры после адреса изображения: ?0.018236515810713172 ?

Также, в теории указано, что используется разделитель CRLF как строка: «\r\n»; как байты в формате HEX: 0x0D, 0x0A. Как это использовать на практике вместо кнопки enter?

И ещё. В тесте один из вариантов "он обозначается числом 42" - это отсылка к главному вопросу жизни, вселенной и всего такого?

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

Хекслет

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