Mnas-String » MNAS-STRING

Пакет mnas-string содержит в своем составе следующие основные функции:

Функции

getenv(sys-var &optional (default ))

Описание: функция getenv возвращает строку, представляющую значение системной переменной, заданное аргументом sys-var.

Пример использования:

 
 (getenv "SBCL_HOME") 
 (getenv "PATH")

make-populated-hash-table(sequence &key (key-function (function (lambda (el) el))) (value-function (function (lambda (el) el))) (test (function equal)))

Описание: функция make-populated-hash-table возвращает наполненную элементами хеш-таблицу. Хеш-таблица формируется на основании содержимого последовательности sequence.

Для каждого элемента последовательности при добавлении в хеш-таблицу:

  • ключи вычисляются при помощи функции, заданной аргументом key-function;
  • значения вычисляются при помощи функции, заданной аргументом value-function.

map-to-list(sequence &key (key (function (lambda (el) el))))

Описание: map-to-list выполняет преобразование последовательности sequence в список.

Пример использования:

(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)

mpattern-to-spattern(pattern str)
Описание:mpattern-to-spattern возвращает строку, у которой повторяющиеся подряд подстроки pattern сведены до одного включения.Пример использования:
(mpattern-to-spattern  " " "Our    plane  will   land  in the city of    BadenBaden.") 
  => "Our plane will land in the city of BadenBaden."
pre-post(string &optional (prefix ") (postfix prefix))
Описание: функция pre-post возвращает строку, основанную на string с добавлением перед и после нее префикса prefix и постфикса postfix pre-post-string
replace-all(string part replacement &key (test (function char=)))

Описание: функция replace-all возвращает строку, в которой все вхождения part заменяется на replacement.

Пример использования:

(replace-all "Paris, Paris? Paris!" "Pa" "Bo")
   => "Boris, Boris? Boris!"

split(char-bag string &key (omit-nulls t))

Описание: функция: split разделяет строку string на подстроки.

Возвращает: список подстрок.

Переменые:

  • char-bag - символы из этой строки используются в качестве разделителей;
  • string - строка, подлежащая разделению на подтсроки;
  • если omit-nulls не равно nil пустые подстроки из результирующего списока исключаются.

Пример использования:

(split "; " " 1111 ; +5550650456540; 55" ) => ("1111" "+5550650456540" "55")

trd-rename(f-name &optional (ext trd))

Описание: функция trd-rename возвращает строку, представляющую имя файла в формате "YYYY-MM-DD_hhmmss.ext".

Преобразуемая строка дожна удовлетворять формату "DDMMYY_hhmmss.ext".

Здесь:

  • YYYY - год;
  • YY - год;
  • MM - месяца;
  • DD - день;
  • hh - час;
  • mm - минута;
  • ss - секунда;
  • ext - расширение файла.

Пример использования:

(trd-rename "150819_082056.trd") => "2019-08-15_082056.trd"