我正在審閱各種語言的課程,我們正在用Lisp構建文本解析器。我可以讓我的Lisp程序用數字做很多不同的功能,但我正在努力處理文本。我只想偷看一行中的第一個字符,看看它是否包含<然後做一些事情,但我似乎無法弄清楚如何去做這個簡單的任務。這是我簡單的小碼迄今:LISP If語句 - 解析文本文件
;;;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或任何其他函數式語言,我習慣於在VB和Java項目中使用瘋狂的函數,但我沒有任何像樣的Lisp參考資料。
完成這個程序後,我們不必再與Lisp混淆了,所以我不打擾任何事情。嘗試谷歌圖書...開始想出來的東西,但這種語言是古老而艱難的!
;;;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)
)
)
)
謝謝你們
我認爲最好能在班上提出這樣的問題。 –