Основные функции: Пульс языка

Это самые фундаментальные функции, составляющие Lispex. Комбинируйте их, чтобы создавать сложную логику и вдыхать жизнь в ваши данные. Каждый великий путь начинается с этих маленьких первых шагов.

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


first

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

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

Пример:

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

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

rest

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

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

Пример:

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

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

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

empty?

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

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

Пример:

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

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

length

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

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

Пример:

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

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

list?

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

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

Пример:

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

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

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