Вход:  Пароль:  
FreeSource: AltLinux/Sisyphus/Alterator/libraries ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |
Это старая версия AltLinux/Sisyphus/Alterator/libraries за 2006-11-24 16:11:06..

Наряду с srfi-1,srfi-2,srfi-11,srfi-13 alterator предоставляет свои функции, аналогов которым в R5RS и выше перечисленных srfi к сожалению не обнаружилось.


Оглавление документа

Работа со строками

empty-string?,not-empty-string?

Аналог string-null?, главное отличие, что спрашивают «эй, ты пустая строка?», а не «эй строка, ты пустая?» .
То есть делают предварительную проверку string?

->string

Параметры:

Превращает любой datum в строку. Превращение происходит согласно правилам display.

string-cut

Параметры:

Рубит строку по символу разделителю и возвращает список полученных кусков. Если рубить нечего, то возвращает список состоящий из исходной строки.
Сейчас string-cut приравнивается к string-split – специфичная для guile функция.

string-cut-repeated

Вариант предыдущей команды, которой исключает из результата пустые строки. Фактически получается игнорирование повторяющихся символов-разделителей.

string-quote

Параметры:

Вариант string-map, с той разницей что преобразователь имеет тип не char->char, а char->string. Это позволяет использовать оный движок для проведения квотирования, когда один символ в строке заменятся двумя и более.

Работа со списками

append1

Параметры:


Специализированный вариант append, для добавления ровно одного элемента.
(append1 lst item) == (append lst (list item))

list-remove

Параметры:


Возвращает исходный список с удалённым элементом в позиции num.

list-exchange

Параметры:


Возвращает исходный список, в котором элементы в позициязх num и num+1 переставлены местами.

list-flat

«Расплющивает» переданный в качестве едиственного параметра список, перенося элементы подсписков на уровень выше.


cond-car,cond-cdr,cond-cadr

Набор функций, для сомневающихся. Возвращают соотв. элемент списка или #f, если оный отсутствует.

Работа с ассоциативными списками

alist-set

Параметры:


Вариант acons, но только в отличие от него не накапливает дубликаты в списке. Для сравнения использует eq?

cond-assoc,cond-assq

Параметры:


Вариант assoc (assq), который возвращает найденный ключ или #f или значение по-умолчанию.
Note: в guile есть похожее семейство функций assoc-ref/assq-ref, но они все не поддерживают управление значением по-умолчанию.

Списки свойств

Списки свойств – это списки вида (параметр значение параметр значение ...) удобны прежде всего для пользователей так как содержат меньше скобок, используются как замена ассоциативных списков.

plist?

alist->plist

plist->alist

plist-any

plist-map

plist-filter

plist-fold

plist-for-each

plistq

cond-plistq

Прочий синтаксический сахар

thunk

тоже самое что и lambda()

begin-1

тоже что и begin, но возвращает результат выполнения первой инструкции (а не последней). Аналог prog1 из Common Lisp.



 
Файлов нет. [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]