Я недавно столкнулся с этой строкой в общем коде библиотеки LISP:Lisp: расширенное сравнение строк
(string-equal #1="http://" url :end2 (min (length url) #2=#.(length #1#)))
Здесь url
был принят в качестве переменной строки. Я понимаю, что цель этого сравнения состоит в том, чтобы определить, начинается ли строка url
с http://
, и это сравнение без учета регистра. Я также понимаю около string-equal
ключей, таких как :start
и :end
. Но знак фунта (#
) вещи меня бросили. Я могу понять большую часть из контекста, но я не нашел документацию о том, как это работает, и я по-прежнему немного запутался в том, что действительно означает #2=#.(length #1#)
. Это выглядит немного мистически для меня.
Не могли бы вы объяснить, как работает механизм знака фунта в этом конкретном контексте и если он универсален в других конструкциях одинаково? Или укажите мне документ/веб-сайт, который описывает его.
Спасибо!
Спасибо Шон. Почему у программиста есть '# 2 ='? Я предполагаю, что в этом случае это лишнее. – lurker
Мне кажется излишним. – Sean