Проектная лаборатория

Собственный Redis

0 / 124этапов пройдено

Этап 109 · Геопространственные команды

Ответ на GEOADD

Русский перевод заданий CodeCrafters. Примеры подготовлены для Go. Выбор языка меняет команды и результаты, но не текст задания.

На этом этапе вы добавите ответ на команду GEOADD.

Предварительные требования

Этот этап зависит от расширения «Упорядоченные множества». Перед началом убедитесь, что оно пройдено.

Команда GEOADD

Команда GEOADD добавляет в ключ местоположение с долготой, широтой и именем.

Пример:

> GEOADD places -0.0884948 51.506479 "London"
(integer) 1

Аргументы GEOADD:

  1. key: ключ для хранения местоположения.
  2. longitude: долгота.
  3. latitude: широта.
  4. member: имя местоположения.

Возвращается число добавленных элементов в формате целого числа RESP.

Здесь достаточно реализовать ответ GEOADD. Проверку аргументов и хранение местоположений добавим позже.

Проверки

Тестирующая система запустит программу так:

$ ./your_program.sh

Затем отправит команду GEOADD:

$ redis-cli GEOADD places 11.5030378 48.164271 Munich

Ожидаемый ответ — :1\r\n, то есть 1 (число добавленных местоположений) в формате целого числа RESP.

Примечания

  • На этом этапе нужен только ответ на GEOADD. Проверку аргументов и хранение местоположений реализуем позже.

Проверка в вашей IDE

Нужны Node.js, Git, Go 1.24+ для тестеров и инструменты выбранного языка. Тестеры загружаются и запускаются локально; отдельным проектам нужны дополнительные системные зависимости.

Настройка проекта и IDE

1. Создайте проект один раз

node '/opt/graphlms/tools/project-lab/cli.mjs' init redis ./my-redis --language go

2. Откройте папку в IDE

cd ./my-redis

Реализуйте требования этапа в созданном проекте.

Запустите из папки проекта

node '/opt/graphlms/tools/project-lab/cli.mjs' submit --stage zt4

Запускайте submit из папки проекта. Это локальные проверки, а не сертификаты или результаты аккаунта CodeCrafters.

Результат проверки

go / ЛОКАЛЬНО

Подключение к локальной проверке…

Здесь появится результат

Запустите submit в терминале. Страница обновляет результаты каждые 8 секунд.

GraphLMS — инженерная лаборатория роста