Next: Introduction, Previous: (dir), Up: (dir) [Contents][Index]
This is the mnas-string Reference Manual, generated automatically by Declt version 3.0 "Montgomery Scott" on Sun May 15 05:36:57 2022 GMT+0.
• Introduction | What mnas-string is all about | |
• Systems | The systems documentation | |
• Modules | The modules documentation | |
• Files | The files documentation | |
• Packages | The packages documentation | |
• Definitions | The symbols documentation | |
• Indexes | Concepts, functions, variables and data types |
#+options: ':nil *:t -:t ::t <:t H:3 \n:nil ^:t arch:headline #+options: author:t broken-links:nil c:nil creator:nil #+options: d:(not "LOGBOOK") date:t e:t email:nil f:t inline:t num:t #+options: p:nil pri:nil prop:nil stat:t tags:t tasks:t tex:t #+options: timestamp:t title:t toc:t todo:t |:t #+title: README #+date: <2021-10-17 Вс> #+author: Nick Matvyeyev #+email: namatv@MNASOFT-01 #+language: ru #+select_tags: export #+exclude_tags: noexport #+creator: Emacs 27.2 (Org mode 9.4.4) #+latex_class: article #+latex_class_options: #+latex_header: #+latex_header_extra: #+description: #+keywords: #+subtitle: #+latex_compiler: pdfLaTex #+date: \today * Description The mnas-string system is intended for: - parsing a real number; - splitting a string into substrings; - replacing all occurrences of a substring in a string; - replacing multiple occurrences of a pattern with a single one; - preparing a string as an argument for a like SQL query; - framing a string with a prefix and a postfix; - outputting the date and time representation to a stream or string; - string tracing. * Documentation [[https://mnasoft.ddns.mksat.net/Common-Lisp-Programs/mnas-string/обзор.html]]
Next: Modules, Previous: Introduction, Up: Top [Contents][Index]
The main system appears first, followed by any subsystem dependency.
• The mnas-string system | ||
• The mnas-string/print system | ||
• The mnas-string/translit system | ||
• The mnas-string/db system | ||
• The mnas-string/parse system | ||
• The mnas-string/core system |
Next: The mnas-string/print system, Previous: Systems, Up: Systems [Contents][Index]
Nick Matvyeyev <mnasoft@gmail.com>
GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 or later
Система @b(mnas-string) предназначена для:
@begin(list)
@item(парсинга вещественного числа;)
@item(разделения строки на подстроки;)
@item(замены всех вхождений подстроки в строке;)
@item(замены множественного вхождения паттерна единичным;)
@item(подготовки строки в качестве аргумента для like запроса SQL;)
@item(обрамления строки префиксом и постфиксом;)
@item(вывода представления даты и времени в поток или строку;)
@item(траслитерации строки.)
@end(list)
mnas-string.asd (file)
Next: The mnas-string/translit system, Previous: The mnas-string system, Up: Systems [Contents][Index]
Nick Matvyeyev <mnasoft@gmail.com>
GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 or later
Система @b(mnas-string/print) содержит в
своем составе функции вывода представления даты и времени в поток.
mnas-string.asd (file)
src/print (module)
Next: The mnas-string/db system, Previous: The mnas-string/print system, Up: Systems [Contents][Index]
Nick Matvyeyev <mnasoft@gmail.com>
GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 or later
Система @b(mnas-string/translit) cодержит функции траслитерации строки.
mnas-string.asd (file)
src/translit (module)
Next: The mnas-string/parse system, Previous: The mnas-string/translit system, Up: Systems [Contents][Index]
Nick Matvyeyev <mnasoft@gmail.com>
GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 or later
Система @b(mnas-string/db) содержит функции:
@begin(list)
@item(подготовки строки в качестве аргумента для like запроса SQL;)
@end(list)
mnas-string/core (system)
mnas-string.asd (file)
src/db (module)
Next: The mnas-string/core system, Previous: The mnas-string/db system, Up: Systems [Contents][Index]
Nick Matvyeyev <mnasoft@gmail.com>
GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 or later
Система @b(mnas-string/parse) содержит функции:
@begin(list)
@item(парсинга вещественного числа.)
@end(list)
mnas-string.asd (file)
src/parse (module)
Previous: The mnas-string/parse system, Up: Systems [Contents][Index]
Nick Matvyeyev <mnasoft@gmail.com>
GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 or later
Система @b(mnas-string/core) содержит функции:
@begin(list)
@item(парсинга вещественного числа;)
@item(разделения строки на подстроки;)
@item(замены всех вхождений подстроки в строке;)
@item(замены множественного вхождения паттерна единичным;)
@item(обрамления строки префиксом и постфиксом.)
@end(list)
cl-ppcre
mnas-string.asd (file)
src/core (module)
Modules are listed depth-first from the system components tree.
Next: The mnas-string/translit/src/translit module, Previous: Modules, Up: Modules [Contents][Index]
mnas-string/print (system)
src/print/
print.lisp (file)
Next: The mnas-string/db/src/db module, Previous: The mnas-string/print/src/print module, Up: Modules [Contents][Index]
mnas-string/translit (system)
src/translit/
translit.lisp (file)
Next: The mnas-string/parse/src/parse module, Previous: The mnas-string/translit/src/translit module, Up: Modules [Contents][Index]
mnas-string/db (system)
src/db/
db.lisp (file)
Next: The mnas-string/core/src/core module, Previous: The mnas-string/db/src/db module, Up: Modules [Contents][Index]
mnas-string/parse (system)
src/parse/
parse.lisp (file)
Previous: The mnas-string/parse/src/parse module, Up: Modules [Contents][Index]
mnas-string/core (system)
src/core/
core.lisp (file)
Files are sorted by type and then listed depth-first from the systems components trees.
• Lisp files |
Next: The mnas-string/print/src/print/print․lisp file, Previous: Lisp files, Up: Lisp files [Contents][Index]
mnas-string.asd
Next: The mnas-string/translit/src/translit/translit․lisp file, Previous: The mnas-string․asd file, Up: Lisp files [Contents][Index]
src/print (module)
src/print/print.lisp
init-month-ht (function)
Next: The mnas-string/db/src/db/db․lisp file, Previous: The mnas-string/print/src/print/print․lisp file, Up: Lisp files [Contents][Index]
src/translit (module)
src/translit/translit.lisp
Next: The mnas-string/parse/src/parse/parse․lisp file, Previous: The mnas-string/translit/src/translit/translit․lisp file, Up: Lisp files [Contents][Index]
src/db (module)
src/db/db.lisp
prepare-to-query (function)
Next: The mnas-string/core/src/core/core․lisp file, Previous: The mnas-string/db/src/db/db․lisp file, Up: Lisp files [Contents][Index]
src/parse (module)
src/parse/parse.lisp
Previous: The mnas-string/parse/src/parse/parse․lisp file, Up: Lisp files [Contents][Index]
src/core (module)
src/core/core.lisp
split-bak (function)
Next: Definitions, Previous: Files, Up: Top [Contents][Index]
Packages are listed by definition order.
• The mnas-string/print package | ||
• The mnas-string/translit package | ||
• The mnas-string/db package | ||
• The mnas-string/parse package | ||
• The mnas-string package |
Next: The mnas-string/translit package, Previous: Packages, Up: Packages [Contents][Index]
Пакет @b(mnas-string/print) экспортирует следующие функции:
@begin(list)
@item(@b(date) - вывод даты;)
@item(@b(date-time) - вывод даты и времени;)
@item(@b(day-time) - вывод времени;)
@item(@b(date-time-fname) - вывод даты и времени для именования файла.)
@end(list)
Все вышеперечисленые функций первым аргументом принимают:
@begin(list)
@item(@b(u-time) - время, заданное в универсальном формате;)
@end(list)
Кроме того, все они принимают ключевой аргумент @b(stream):
@begin(list)
@item(при @b(stream)=@b(nil) - вывод осуществляется в строку;)
@item(при @b(stream)=@b(t) - вывод на стандартный вывод.)
@end(list)
Остальными ключевыми параметрами этих фукций являются:
@begin(list)
@item(@b(year) - позволяет выводить (при @b(year)=@b(t)) или не
выводить (при @b(year)=@b(nil)) представление года;)
@item(@b(day) - позволяет выводить (при @b(day)=@b(t)) или не
выводить (при @b(day)=@b(nil)) число дня;)
@item(@b(ss) - позволяет выводить (при @b(ss)=@b(t)) или не выводить (при @b(ss)=@b(nil)) представление секунд;)
@item(@b(month-language) - задает язык для вывода месяца. Значением
аргумента должна быть хеш-таблица. Ключи - порядковые номера месяцев
от 1 до 12. Значения - строки с наименованиями месяцев.)
@end(list)
print.lisp (file)
common-lisp
init-month-ht (function)
Next: The mnas-string/db package, Previous: The mnas-string/print package, Up: Packages [Contents][Index]
Пакет @b(mnas-string/translit) экспортирует следующие функции:
@begin(list)
@item(@b(translit) - транслитерация строки.)
@end(list)
Транслитерация производится с использованием хеш-таблицы
преобразования, в которой каждому заменяемому символу (ключ)
соответствует строка (значение) на которую он заменяется.
Пакет @b(mnas-string/translit) экспортирует следующие хеш-таблицы
преобразования:
@begin(list)
@item(*cir-gr->en* - преобразование кириллических и греческих
символов в латинские;)
@item(*space-cir-gr->en* - преобразование кириллических и греческих
символов в латинские, такое что результат мог использоваться в
качестве символа Common Lisp.)
@item(*cfx->en* - преобразование кириллических и греческих и
символов, запрещенных в пакете ANSYS CFX, в английские символы
разрешенніе в пакете CFX.)
@end(list)
translit.lisp (file)
common-lisp
Next: The mnas-string/parse package, Previous: The mnas-string/translit package, Up: Packages [Contents][Index]
Пакет @b(mnas-string/db) экспортирует следующие функции:
@begin(list)
@item(@b(prepare-to-query) - подготовка строки в качестве аргумента для like запроса SQL.)
@end(list)
db.lisp (file)
common-lisp
prepare-to-query (function)
Next: The mnas-string package, Previous: The mnas-string/db package, Up: Packages [Contents][Index]
Пакет @b(mnas-string) содержит в своем составе
следующие основные функции:
@begin(list)
@item(@b(read-number) - парсинг вещественного числа при
помощи считывателя Common Lisp;)
@item(@b(parse-number) - парсинг вещественного числа;)
@end(list)
parse.lisp (file)
common-lisp
Previous: The mnas-string/parse package, Up: Packages [Contents][Index]
Пакет @b(mnas-string) содержит в своем составе
следующие основные функции:
@begin(list)
@item(@b(split) - разделение строки на подстроки;)
@item(@b(replace-all) - замена всех вхождений подстроки в строке;)
@item(@b(mpattern-to-spattern) - замена множественного вхождения паттерна единичным;)
@item(@b(pre-post) - обрамление строки префиксом и постфиксом.)
@end(list)
core.lisp (file)
common-lisp
split-bak (function)
Definitions are sorted by export status, category, package, and then by lexicographic order.
• Exported definitions | ||
• Internal definitions |
Next: Internal definitions, Previous: Definitions, Up: Definitions [Contents][Index]
• Exported special variables | ||
• Exported functions |
Next: Exported functions, Previous: Exported definitions, Up: Exported definitions [Contents][Index]
@b(Описание:) хеш-таблица @b(*cfx->en*) служит для преобразования
кириллических, греческих и символов запрещенных в пакете ANSYS CFX в
английские символы.
При преобразовании с использованием функции @b(translit) пробельные и специальные символы заменяются такими, что преобразованная строка может использоваться в качестве имени (символа).
translit.lisp (file)
@b(Описание:) хеш-таблица @b(*cir-gr->en*) служит для преобразования кириллических и греческих символов в английские символы.
translit.lisp (file)
@b(Описание:) *default-month-language* язык по-умолчанию для наименования месяца.
@b(Пример использования:)
@begin[lang=lisp](code)
(gethash 1 *default-month-language*)
@end(code)
print.lisp (file)
@b(Описание:) хеш-таблица @b(*mon-en*) содержит названия месяцев на
английском языке.
Ключами являются порядковые номера месяцев от 1 до 12.
@b(Пример использования:)
@begin[lang=lisp](code)
(gethash 1 *mon-en*) => "January" ,T
(gethash 12 *mon-en*) => "December" ,T
@end(code)
print.lisp (file)
@b(Описание:) хеш-таблица @b(*mon-ru*) содержит названия месяцев на
русском языке.
Ключами являются порядковые номера месяцев от 1 до 12.
@b(Пример использования:)
@begin[lang=lisp](code)
(gethash 1 *mon-ru*) => "Январь", T
(gethash 12 *mon-ru*) => "Декабрь", T
@end(code)
print.lisp (file)
@b(Описание:) хеш-таблица @b(*mon-ua*) содержит названия месяцев на
украинском языке.
Ключами являются порядковые номера месяцев от 1 до 12.
@b(Пример использования:)
@begin[lang=lisp](code)
(gethash 1 *mon-ua*) => "Січень", T
(gethash 12 *mon-ua*) => "Грудень", T
@end(code)
print.lisp (file)
@b(Описание:) хеш-таблица @b(*space-cir-gr->en*) служит для
преобразования кириллических и греческих символов в английские
символы.
При преобразовании с использованием функции @b(translit) пробельные и специальные символы заменяются такими, что преобразованная строка может использоваться в качестве имени (символа).
translit.lisp (file)
Previous: Exported special variables, Up: Exported definitions [Contents][Index]
@b(Описание:) функция @b(date) выводит в поток @b(stream)
строковое представление даты.
@b(Пример использования:)
@begin[lang=lisp](code)
(date (get-universal-time) :stream nil) => "2019-12-04"
(date (get-universal-time) :stream nil :year nil :day nil) => "Январь"
@end(code)
print.lisp (file)
@b(Описание:) date-time выводит в поток @b(stream)
строковое представление даты и времени.
@b(Пример использования:)
@begin[lang=lisp](code)
(date-time (get-universal-time)) ;-> 2021-03-06_21:17:11 => NIL
(date-time (get-universal-time) :year nil ) ;->03-06_21:18:57 => NIL
(date-time (get-universal-time) :year nil :ss nil) ;-> 03-06_21:19 => NIL
(date-time (get-universal-time) :ss nil) ;-> 2021-03-06_21:20 => NIL
@end(code)
print.lisp (file)
@b(Описание:) функция @b(date-time-fname) выводит дату и время в
пригодном для формирования имени файла формате.
@b(Пример использования:)
@begin[lang=lisp](code)
(let ((ut (get-universal-time)))
(date-time-fname ut :year t :ss t) ;-> 2021-03-06_23-03-11
(date-time-fname ut :year nil :ss t) ;-> 03-06_23-03-11
(date-time-fname ut :year t :ss nil) ;-> 2021-03-06_23-03
(date-time-fname ut :year nil :ss nil)) ;-> 03-06_23-03
=> NIL
@end(code)
print.lisp (file)
@b(Описание:) day-time выводит в поток @b(stream) строковое
представление времени.
@b(Пример использования:)
@begin[lang=lisp](code)
(day-time (get-universal-time)) ;-> 23:06:15 =>NIL
(day-time (get-universal-time) :ss nil) ;-> 23:07 =>NIL
@end(code)
print.lisp (file)
@b(Описание:) функция @b(getenv) возвращает строку, представляющую значение системной переменной, заданное аргументом @b(sys-var).
@b(Пример использования:)
@begin[lang=lisp](code)
(getenv "SBCL_HOME")
(getenv "PATH")
@end(code)
core.lisp (file)
@b(Описание:) функция @b(make-populated-hash-table) возвращает
наполненную элементами хеш-таблицу. Хеш-таблица формируется на
основании содержимого последовательности @b(sequence).
Для каждого элемента последовательности при добавлении в хеш-таблицу:
@begin(list)
@item(ключи вычисляются при помощи функции, заданной аргументом @b(key-function);)
@item(значения вычисляются при помощи функции, заданной аргументом @b(value-function).)
@end(list)
core.lisp (file)
@b(Описание:) map-to-list выполняет преобразование
последовательности @b(sequence) в список.
@b(Пример использования:)
@begin[lang=lisp](code)
(map-to-list ’((1 2 )(2 3)(3 4)(4 5)(5 6)(6 7)))
; => ((1 2) (2 3) (3 4) (4 5) (5 6) (6 7))
(map-to-list ’((1 2 )(2 3)(3 4)(4 5)(5 6)(6 7)) :key #’first)
; => (1 2 3 4 5 6)
(map-to-list ’((1 2 )(2 3)(3 4)(4 5)(5 6)(6 7)) :key #’second)
; => (2 3 4 5 6 7)
@end(code)
core.lisp (file)
@b(Описание:) @b(mpattern-to-spattern) возвращает строку, у которой
повторяющиеся подряд подстроки @b(pattern) сведены до одного включения.
@b(Пример использования:)
@begin[lang=lisp](code)
(mpattern-to-spattern " " "Our plane will land in the city of BadenBaden.")
=> "Our plane will land in the city of BadenBaden."
@end(code)
core.lisp (file)
@b(Описание:) parse-number выполняет чтение из строки
@b(str) вещественного числа.
Если число не удалось считать - возвращается default.
@b(Пример использования:)
@begin[lang=lisp](code)
(parse-number "3.14") => 3.14, 4
(parse-number "3,14") => 3.14, 4
(parse-number "3,14e2") => 314.0, 6
(parse-number "-3,14e-2") => -0.0314, 8
(parse-number "3,14d+2") => 314.0d0, 7
(parse-number "-3,14d-2") => -0.0314d0, 8
@end(code)
parse.lisp (file)
@b(Описание:) функция @b(pre-post) возвращает строку, основанную на @b(string) с добавлением перед и после нее префикса @b(prefix) и постфикса @b(postfix) pre-post-string
core.lisp (file)
@b(Описание:) функция @b(prepare-to-query) возвращает строку
подготовленную для участия в запросе к базе данных, основанную на
содержимом строки @b(str).
Подготовка заключется в исключении начальных и конечных пробелов и
замене оставшихся пробелов на знаки %.
@b(Пример использования:)
@begin[lang=lisp](code)
(prepare-to-query " гайки с квадр гол ")
; => "%гайки%с%квадр%гол%"
@end(code)
db.lisp (file)
@b(Описание:) функция @b(read-number) возвращает число
класса @b(number) при чтении из строки @b(str).
При считывании используется стандартный считыватель Common Lisp.
parse.lisp (file)
@b(Описание:) функция @b(replace-all) возвращает строку, в которой
все вхождения @b(part) заменяется на @b(replacement).
@b(Пример использования:)
@begin[lang=lisp](code)
(replace-all "Paris, Paris? Paris!" "Pa" "Bo")
=> "Boris, Boris? Boris!"
@end(code)
core.lisp (file)
@b(Описание:) функция: @b(split) разделяет строку @b(string) на подстроки.
@b(Возвращает:) список подстрок.
@b(Переменые:)
@begin(list)
@item(@b(char-bag) - символы из этой строки используются в качестве разделителей;)
@item(@b(string) - строка, подлежащая разделению на подтсроки;)
@item(если omit-nulls не равно nil пустые подстроки из результирующего списока исключаются.)
@end(list)
@b(Пример использования:)
@begin[lang=lisp](code)
(split "; " " 1111 ; +5550650456540; 55" ) => ("1111" "+5550650456540" "55")
@end(code)
core.lisp (file)
@b(Описание:) функция @b(translit) возвращает транслитерированную
строку, символов находящихся в строке str. Для транслитерации
исползуется хеш-таблица ht.
В качестве таблиц перобразования (хеш-таблицы ht) рекомендуется использовать:
@begin(list)
@item(*cir-gr->en* - с пробельными символами;)
@item(*space-cir-gr->en* - с исключением пробельных символов.)
@end(list)
@b(Пример использования:)
@begin[lang=lisp](code)
(translit "Что это?" :ht *cir-gr->en*) => "CHto eto?"
(translit "Что это?" :ht *space-cir-gr->en*) => "CHto-eto?"
(translit "Съешь же ещё этих мягких французских булочек да выпей чаю!")
; => "S_esh- zhe eshchio etih myagkih frantsuzskih bulochek da vypeiy chayu!"
@end(code)
translit.lisp (file)
@b(Описание:) функция @b(trd-rename) возвращает строку, представляющую имя файла в формате "YYYY-MM-DD_hhmmss.ext".
Преобразуемая строка дожна удовлетворять формату
"DDMMYY_hhmmss.ext".
Здесь:
@begin(list)
@item(YYYY - год;)
@item(YY - год;)
@item(MM - месяца;)
@item(DD - день;)
@item(hh - час;)
@item(mm - минута;)
@item(ss - секунда;)
@item(ext - расширение файла.)
@end(list)
@b(Пример использования:)
@begin[lang=lisp](code)
(trd-rename "150819_082056.trd") => "2019-08-15_082056.trd"
@end(code)
core.lisp (file)
Previous: Exported definitions, Up: Definitions [Contents][Index]
• Internal special variables | ||
• Internal functions |
Next: Internal functions, Previous: Internal definitions, Up: Internal definitions [Contents][Index]
Символы, разрешенные для использования в имени символа Common Lisp. Знена для *forbidden-characters*.
translit.lisp (file)
translit.lisp (file)
translit.lisp (file)
translit.lisp (file)
translit.lisp (file)
translit.lisp (file)
translit.lisp (file)
Символы, запрещенные для использования в имени символа Common Lisp.
translit.lisp (file)
translit.lisp (file)
translit.lisp (file)
translit.lisp (file)
translit.lisp (file)
Previous: Internal special variables, Up: Internal definitions [Contents][Index]
translit.lisp (file)
translit.lisp (file)
@b(Описание:) функция @b(init-month-ht) выполняет инициализацию хеш-таблиц: @b(*mon-ru*); @b(*mon-ua*); @b(*mon-en*), содержащих наименования месяцев.
print.lisp (file)
translit.lisp (file)
core.lisp (file)
Previous: Definitions, Up: Top [Contents][Index]
• Concept index | ||
• Function index | ||
• Variable index | ||
• Data type index |
Next: Function index, Previous: Indexes, Up: Indexes [Contents][Index]
Jump to: | F L M |
---|
Jump to: | F L M |
---|
Next: Variable index, Previous: Concept index, Up: Indexes [Contents][Index]
Jump to: | D F G I M P R S T |
---|
Jump to: | D F G I M P R S T |
---|
Next: Data type index, Previous: Function index, Up: Indexes [Contents][Index]
Jump to: | *
S |
---|
Jump to: | *
S |
---|
Previous: Variable index, Up: Indexes [Contents][Index]
Jump to: | M P S |
---|
Jump to: | M P S |
---|