役立つ答えが見つからないので、これを手伝ってくれる人がいることを願っています.Lispは初めてです。
私がやろうとしているのは、1 つの要素の値をテストし、1 の場合は何かを出力し、それ以外の場合は空白文字を出力することです。これは、すべてのリスト引数の値が 1 の場合に機能します。
(defun print-lst (list)
(format t "~%~a ~a ~a~%"
(if (= (nth 0 list) '1)
'¦)
(if (= (nth 1 list) '1)
'P)
(if (= (nth 2 list) '1)
'¦)))
したがって、出力は¦ P ¦
です。しかし、リストの2番目の要素が0の場合、その場所にNILを出力し、¦ NIL ¦
代わりにスペースを出力したい¦ ¦
(その文字をスキップするだけでなく¦¦
、出力行のその位置に空白文字があることが重要ですテストされた値は 1 ではありません)。
条件が満たされない場合に空白文字を返す方法はありますか、(if (= (nth 1 list) '1) 'P)
またはこれを実行する他の方法はありますか? うまく説明できたと思います。ありがとうございました。