Алихан Аскаров

// removed

Expected value to be (using ===): "[(1, 2), (-4, -2)]" Received: "((1, 2), (-4, -2))" подскажите пожалуйста, мой кусок кода выдает () вместо [], понятия не имею как изменить.

И в функции midPointSegment возвращает NAN NAN

// removed

UPD: Изменил midPointSegment, так как понял что функция makePoint возвращает точку, а нам нужна пара точек, в итоге заменил ее на cons(); все равно NaN, NaN

// removed
14 0

Александр О.

Добрый день!

pointToString(segment)

  1. Что делает функция pointToString, какое у неё предназначение?
  2. Что из себя представляет переданный аргумент segment?
0

Александр О.

И в функции midPointSegment возвращает NAN NAN

Давайте рассмотрим это в понятиях предметной области - геометрической: вот есть формулы нахождения координат точки, лежащей на середине отрезка:
x = (x1 + x2) / 2 - что здесь x1, а что - х2?
y = (y1 + y2) / 2 - что здесь y1, а что - y2?

0

Алихан Аскаров

1) pointToString выводит точку в текст, я передал сегмент, выходит что переданный сегмент нужно разделить по точкам? UPD: Сделал так: ``` export const segmentToString = (segment) =>{ const string = pointToString(car(segment), cdr(segment)); return string; }

Но теперь такая ошибка 
Expected value to be (using ===):
      "[(1, 2), (-4, -2)]"
    Received:
      "(1, 2)"
2) Не понимаю как разделить на х1 и х2 у1 у2, неужели нужно каждой переменной приписать const x1 = makePoint(...), const x2 = makePoint(...)?
0

Александр О.

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

pointToString возвращает текстовое представление точки ---> эта функция работает только с точками, она была специально для этого написана ---> вы передаёте на вход этой функции не точку, а отрезок ---> с отрезками эта функция работать не умеет (даже если и будет какой-то результат, то он будет некорректен)

выходит что переданный сегмент нужно разделить по точкам?

решение очень простое: сначала получаете точки из отрезка, а затем полученные точки компонуете в общее текстовое представление

0

Александр О.

Не понимаю как разделить на х1 и х2 у1 у2, неужели нужно каждой переменной

вы не ответили на мой вопрос. Я спрашивая, что значат все эти вещи с геометрической точки зрения. Я не прошу сейчас вас говорить терминами языка программирования и анализировать код. Что обозначают все эти сущности? Вспоминайте школу

0

Алихан Аскаров

Что обозначают все эти сущности?

Координаты

0

Алихан Аскаров

FAIL tests/segments.test.js ● segment › segmentToString

Argument must be pair, but it was '1'
export const segmentToString = (segment) =>{
  const pointX = getX(car(segment));
  const pointY = getY(cdr(segment));
  const string = pointToString (pointX, pointY);
  return string;
}
0

Александр О.

Координаты

Да, это координаты. Координаты чего? - Конечно, координаты точек. Мы видим здесь две пары координат - соответственно, это координаты начальной (x1 и y1) и конечной (x2 и y2) точек отрезка.

Что нужно сделать, чтобы получить значения всех этих координат?

0

Алихан Аскаров

спасибо разобрался, теперь осталась проблема с pointToString

0

Александр О.

теперь осталась проблема с pointToString

какая осталось проблема? выше мы это обсудили же

0

Алихан Аскаров

// removed

Expected value to be (using ===): "[(1, 2), (-4, -2)]" Received: "(1, 2)" Вот такая ошибка, вроде все верно сделал...

0

Алихан Аскаров

// removed

Expected value to be (using ===): "[(1, 2), (-4, -2)]" Received: "((1, 2), (-4, -2))" Что со скобками не так? Сейчас я уверен что сделал все верно

0

Kirill Mokevnin

Вот что возвращает ваше решение: ((1, 2), (-4, -2)), а вот что ожидается [(1, 2), (-4, -2)]. Как говорится, найдите десять отличий).

1

Алихан Аскаров

спасибо, я разобрался)

0

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

Даниил Каминский 02 марта 2020 →

https://ru.hexlet.io/code_reviews/223856 Добрый день! Реализовал проверки с рекурсией, но возвращает undefi...

Deniss Tarasevics 18 февраля 2020 →

Хелп! Непонимаю почему findPrimitiveBox мне возвращает 'undefined'. Хотя исправно доходит до нужной нам кор...

Vladislav gordeev 09 января 2020 →

Добрый день! Решил findPrimitiveBox через тернарный оператор (https://ru.hexlet.io/code_reviews/192594?subm...

user-6db27925e9290c93 07 января 2020 →

Сломал голову о функцию findPrimitiveBox. Написал условие выхода из функции, если car не является парой, то...

Tou.f 28 декабря 2019 →

findPrimitiveBox Не могу понять, как работает код функции findPrimitiveBox https://ru.hexlet.io/code_review...

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

Хекслет

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