Пару можно создать на основе строки. Для хранения двух значений применим разделитель. Им может выступить любой символ, однако во избежание совпадений с исходными данными лучше взять редко используемое значение.
Для этого подойдёт так называемая управляющая или escape-последовательность, которая начинается с обратной косой черты. Мы будем использовать специальный символ \t
, обозначающий горизонтальную табуляцию.
Функции car()
и cdr()
должны получить содержимое строки до и после разделителя соответственно.
Управляющая последовательность воспринимается интерпретатором как одиночный символ, т.е. имеет длину, равную 1.
Обязательным условием является отсутствие данного символа в строках, которые объединяются в пару.
pairs.js
Реализуйте и экспортируйте следующие функции в соответствии с алгоритмом выше:
cons()
car()
cdr()
Примеры:
const pair = cons('computer', 'science'); // 'computer\tscience'
car(pair); // 'computer'
cdr(pair); // 'science'
Подсказки
- Для подсчёта длины строки используйте функцию
length()
из модуля strings.js.
Для полного доступа к испытанию нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.