2010-12-05 18 views
2

の書式を設定する私はおそらく少し私はLispのについて知っていることと一緒に何かを考え出すことができは、私は次のリストを持っているリスト

X | X | O 
--+---+-- 
    | | O 
--+---+-- 
    | | O 

FORMATが、それはおそらくかなり総額だろう。どんな指針も大変ありがとうございます。

+3

一度あなたが動作するバージョンを持っていたら、粗さを修正することを心配してください。 –

答えて

6
* (format t "~{~A | ~A | ~A~%~^--+---+--~%~}" 
    (mapcar (lambda (x) (or x " ")) '(X O X NIL X X O X NIL))) 
X | O | X 
--+---+-- 
    | X | X 
--+---+-- 
O | X | 
NIL 
1
* (format t "~{~A | ~A | ~A~%~^--+---+--~%~}" 
    (mapcar (lambda (x) (or x " ")) '(X O X NIL X X O X NIL))) 
X | O | X 
--+---+-- 
    | X | X 
--+---+-- 
O | X | 
NIL 

上記でフォーマット文字列について少し説明。ここで重要なのは '〜{' '〜}'と '〜^'です。一対の一致するチルダブレースはリストを入力引数として受け取り、それを反復処理します。 〜^は、反復されるリストが空の場合、このループからの初期のエスケープを制御します。 関連文書~{および~^

関連する問題