Spec-Zone.ru › Elisp

Преобразование символов и строк

В этом разделе описаны функции для преобразования символов, строк и целых чисел друг в друга. format (см. Форматирование строк) и prin1-to-string (см. Функции вывода) также могут преобразовывать объекты Lisp в строки. read-from-string (см. Функции ввода) может преобразовывать строковое представление объекта Lisp в объект. Функции string-to-multibyte и string-to-unibyte преобразуют текстовое представление строки (см. Преобразование текстовых представлений).

См. Документация — там описаны функции, создающие текстовые описания текстовых символов и общих событий ввода (single-key-description и text-char-description). Они используются главным образом для создания справочных сообщений.

Функция: number-to-string number

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

(number-to-string 256)
     ⇒ "256"
(number-to-string -23)
     ⇒ "-23"
(number-to-string -23.5)
     ⇒ "-23.5"

int-to-string — устаревающий псевдоним этой функции.

См. также функцию format в разделе Форматирование строк.

Функция: string-to-number string &optional base

Эта функция возвращает числовое значение символов в string. Если base не равно nil, оно должно быть целым числом от 2 до 16 включительно, и целые числа преобразуются в этой системе счисления. Если base равно nil, используется десятичная система счисления. Преобразование чисел с плавающей точкой работает только в десятичной системе; другие основания для чисел с плавающей точкой не реализованы, поскольку это потребовало бы значительно больше усилий и, по-видимому, не принесло бы пользы.

При разборе пропускаются пробелы и табуляции в начале string, после чего считывается максимально возможная часть string, которую можно интерпретировать как число в указанной системе счисления. (В некоторых системах в начале пропускаются и другие пробельные символы, а не только пробелы и табуляции.) Если string нельзя интерпретировать как число, эта функция возвращает 0.

(string-to-number "256")
     ⇒ 256
(string-to-number "25 is a perfect square.")
     ⇒ 25
(string-to-number "X256")
     ⇒ 0
(string-to-number "-4.5")
     ⇒ -4.5
(string-to-number "1e5")
     ⇒ 100000.0
Функция: char-to-string character

Эта функция возвращает новую строку, содержащую один символ — character. Эта функция считается устаревающей, поскольку функция string имеет более широкие возможности. См. Создание строк.

Функция: string-to-char string

Эта функция возвращает первый символ в string. По большей части она идентична (aref string 0), но возвращает 0, если строка пуста. (Значение также равно 0, если первый символ в string — нулевой символ с кодом 0 в ASCII.) В будущем эта функция может быть удалена, если окажется, что она недостаточно полезна.

Вот ещё несколько функций, которые преобразуют строку или преобразуют данные из строки:

concat

Эта функция преобразует вектор или список в строку. См. Создание строк.

vconcat

Эта функция преобразует строку в вектор. См. Функции для работы с векторами.

append

Эта функция преобразует строку в список. См. Создание cons-ячеек и списков.

byte-to-string

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

Copyright © 1990-1996, 1998-2026 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/String-Conversion.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API