2011-12-23 23 views
0

私はLispを学んでいる。私は比較的簡単な問題の解決法を実装しています。私は、変数を作成して、そのリストを割り当てるこのリストで変数を初期化する

((0 1) (2 3) (5 4)) 

のような問題の初期状態を表しリストを考えています。私は試しました

(let ((initial-state ((0 1) (2 3) (5 4))))) 

しかし、これはコンパイルされません。それ以降は試しました

(let ((initial-state list (list 0 1) (list 2 3) (list 5 4)))) 

これは機能しますが、時間がかかりすぎます。これを行うより良い方法はありますか?

答えて

3

これはどういう意味ですか?

(let ((initial-state '((0 1) (2 3) (5 4)))) ...) 

その一重引用符は引用です。 :)ここに引用について より:

+0

カッコが忘れましたか? – mange

+0

私は持っていましたが、私はすでにそれを修正しました。とにかく、Dありがとう。 – elias

+0

あなたはどんなリスプで働いていますか? Common Lispの 'let 'はそのようには動作しませんし、Schemeのものも動作しません。 – mange

5
(let ((initial-state '((0 1) (2 3) (4 5)))) 
    ...) 

'は基本的に意味(quote ...)に展開「これを評価していない、同じように私にそれを返しますリスト"。これは、コードからデータを分離するために使用されます(これは、関連する概念である)。

関連する問題