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-to-string 256)
     ⇒ "256"
(number-to-string -23)
     ⇒ "-23"
(number-to-string -23.5)
     ⇒ "-23.5"

int-to-string — это полуустаревшее алиас этой функции.

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

Функция: string-to-number строка &optional base

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

Разбор пропускает пробелы и табуляции в начале строки, а затем считывает столько символов из строки, сколько может интерпретировать как число в заданном основании. (На некоторых системах он игнорирует другие пробелы в начале, а не только пробелы и табуляции). Если строка не может быть интерпретирована как число, эта функция возвращает 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

string-to-int — это устаревшее алиас этой функции.

Функция: char-to-string символ

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

Функция: string-to-char строка

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

Вот некоторые другие функции, которые могут преобразовывать в строку или из нее:

concat

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

vconcat

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

append

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

byte-to-string

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

Copyright © 1990-1996, 1998-2022 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