БИБЛИОТЕКА В ПРОЦЕССЕ РЕОРГАНИЗАЦИИ, НЕ ПЫТАЙТЕСЬ ЗАГРУЖАТЬ
Установка и загрузка
- Создаете каталог
C:\Lisp\
.
Вся дальнейшая работа ведется в этом каталоге
- Клонируете репозиторий с помощью команд
c:
cd \
cd Lisp
hg clone https://code.google.com/p/def-symbol-readmacro/
Либо скачиваете архив (Source/Browse/Download zip) и распаковываете его в папку c:\lisp\def-symbol-readmacro
- Инсталлируете
Quicklisp
.
; скачиваете http://beta.quicklisp.org/quicklisp.lisp в c:/lisp/
(load "c:/lisp/quicklisp")
(quicklisp-quickstart:install :path "C:/lisp/quicklisp/")
- Разворачиваете систему
iterate-keywords
Скачиваете архив системы iterate-keywords и развертываете его в каталог C:\Lisp\quicklisp\local-projects\iterate-keywords\
- Загружаете файл
C:\Lisp\def-symbol-readmacro\budden-load.lisp
(load "C:/Lisp/def-symbol-readmacro/budden-load.lisp")
Загрузка завершена.
При использовании библиотеки существует возможность именовать символы способами, отличными от стандартных. Так, можно задавать имена символов в camel case, т.е. с разным регистром разных частей символа: CamelCase, MicroEditor, deltaForce и т.д. Регистр подобных символов не меняется при переводе имени символа в строковый вид.
Если же регистр символов одинаков (символы написаны строчными или прописными буквами), то написание символа приводится к нижнему регистру.
Т.е. если в REPL написать 'SYMBOL
или 'symbol
, будет выведено symbol
, а если написать 'Symbol
, то будет выведено Symbol.
Это возможно благодаря использованию таблицы чтения из пакета budden-tools.
Перед использование вышеописанной функциональности необходимо сделать вызов (budden-tools::in-readtable :buddens-readtable)
. Этот вызов осуществляет переключение текущей таблицы чтения на таблицу из библиотеки.
Следует иметь ввиду, что функция (load)
осуществляет связывание текущей таблицы чтения во собственно загрузки, поэтому необходимо делать вызов (budden-tools::in-readtable :buddens-readtable)
даже если в коде, который вы загружаете через (load)
этот вызов присутствует.