私は様々な言語をレビューするクラスに入っており、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))
)
私は文は、それが「<」を見つけることができるかどうかを確認し、もしそうなら、単にその行を印刷し、doesnの他のものをスキップする場合にループを組み合わせてみました。この次の部分は、仕事はありません。この本当に簡単な作業を行う上で助けがあれば、大変感謝しています。以前はLispやその他の関数型言語を使ったことはありませんでしたが、私はVBやJavaプロジェクトで狂気のような関数を使うのに慣れていましたが、Lispの参考資料はありません。
このプログラムが終了した後は、私はもうLispを混乱させる必要はないので、何も注文することはありませんでした。 Google Booksを試してみましょう。何かを理解し始めましたが、この言語は古くて難しいものです!
;;;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)
)
)
)
おかげでみんな
あなたのクラスでこのような質問をすることをお勧めします。 –