Песочница

Основные функции

Базовые встроенные функции Lispex для проверки значений и работы с данными.

Это предыдущая редакция документации. Чтобы найти встроенную процедуру по имени или задаче, откройте актуальный указатель процедур.

Эта страница представляет собой справочник по самым основным встроенным функциям Lispex. Эти функции нужны для базовой проверки и работы с данными.


first

Возвращает первый элемент списка.

  • Синтаксис: (first LIST)
  • Аргументы:
  • LIST: Список, из которого нужно получить первый элемент. Не должен быть пустым.
  • Возвращает: Первый элемент списка.
  • Выбрасывает: RuntimeError, если список пуст.

Пример:

LISPEX
(first (list 10 20 30))
;; Результат: 10

(first (list "a" "b" "c"))
;; Результат: "a"

rest

Возвращает новый список, содержащий все элементы, кроме первого.

  • Синтаксис: (rest LIST)
  • Аргументы:
  • LIST: Список для обработки.
  • Возвращает: Новый список, содержащий остальные элементы. Если исходный список пуст или содержит только один элемент, возвращается пустой список.
  • Выбрасывает: RuntimeError, если аргумент не является списком.

Пример:

LISPEX
(rest (list 10 20 30))
;; Результат: (list 20 30)

(rest (list 10))
;; Результат: (list)

(rest (list))
;; Результат: (list)

empty?

Проверяет, пуст ли список.

  • Синтаксис: (empty? LIST)
  • Аргументы:
  • LIST: Список для проверки.
  • Возвращает: #t, если в списке нет элементов, иначе #f.
  • Выбрасывает: RuntimeError, если аргумент не является списком.

Пример:

LISPEX
(empty? (list))
;; Результат: #t

(empty? (list 1 2))
;; Результат: #f

length

Возвращает количество элементов в списке.

  • Синтаксис: (length LIST)
  • Аргументы:
  • LIST: Список, длину которого нужно измерить.
  • Возвращает: Целое число, представляющее количество элементов в списке.
  • Выбрасывает: RuntimeError, если аргумент не является списком.

Пример:

LISPEX
(length (list 10 20 30))
;; Результат: 3

(length (list))
;; Результат: 0

list?

Проверяет, является ли данное значение списком.

  • Синтаксис: (list? VALUE)
  • Аргументы:
  • VALUE: Значение для проверки.
  • Возвращает: #t, если значение является списком, иначе #f. Эта функция не выбрасывает ошибку.

Пример:

LISPEX
(list? (list 1 2))
;; Результат: #t

(list? 123)
;; Результат: #f

(list? "hello")
;; Результат: #f