Я учусь на разных языках и создаю анализатор текста с помощью Lisp.Я могу заставить свою программу на Лиспе выполнять множество различных функций с числами, но я борюсь с текстом.Я хочу просто взглянуть на первый символ в строке, чтобы увидеть, содержит ли он <, затем сделать что-то, но я не могу понять, как выполнить эту простую задачу.Вот мой простой маленький код: </p>
;;;Sets up the y.xml file for use
(setq file (open "c:\\temp\\y.xml"))
;;;Just reads one line at a time, (jkk file)
(defun jkk (x)
(read-line x)
)
;;;Reads the entire file printing each line, (loopfile file)
(defun loopfile (x)
(loop for line = (read-line x nil)
while line do (print line))
)
В следующей части я попытался объединить цикл с оператором if, чтобы посмотреть, может ли он найти "<", и если это так, просто напечатайте эту строку и пропустите все остальныекоторый не работает.Любая помощь в выполнении этой действительно простой задачи будет принята с благодарностью.Никогда раньше не использовал Lisp или любой другой функциональный язык, я привык использовать такие функции, как crazy, в своих проектах на VB и Java, но у меня нет приличных справочных материалов по Lisp.</p>
После завершения этой программы нам больше не нужно связываться с Лиспом, поэтому я не стал ничего заказывать.Попробую Google Книги ... начинаю разбираться, но этот язык старый и жесткий!
;;;Reads the entire file printing the line when < is found
(defun loopfile_xml (x)
(loop for line = (read-line x nil)
while line do
(
if(char= line "<")
(print line)
)
)
)
Спасибо, ребята