「無効な除外::述語引数」共通リスプのエラー
-
11-10-2019 - |
質問
私はLISPで教室の運動をしています、そして私はこのエラーを取得しています
CG-USER(286):
Error: Invalid EXCL::PREDICATE argument:
#<Vector @ #x20fd488a>
[condition type: SIMPLE-ERROR]
これが何を意味するのか教えてください。エラーが発生するコードを貼り付けますが、長くて醜いです。
マドリードのメトロネットワークの与えられたものに続くステーションを見つける必要があります。ステーションの名前であるcambio-estacionは、短い転送(形式:(l01 sol l02 Tribunal))を説明するリストです。メトロライン(フォーマット(L01ソルオペラ1.01))。いくつかのステーションが壊れています(Averiadasのステーション)。私は閉鎖ステーション(Profundidad-Vecinosジャンプ)を見つけなければなりません。
明らかに、私はあなたが私のコードをデバッグすることを期待していません(それは読むべき醜いコードがたくさんあります)が、誰かがそのエラーが何を意味するのかを教えてもらえば素晴らしいでしょう。ありがとう。
これがコードです:
これは、エラーによる実行です。
CG-USER(286): (estaciones-cercanas-a 'Noviciado *vias* *cambio-estacion* 2 '(Sol Callao Noviciado Santo_Domingo PLAZA_DE_ESPAÑA SAN_BERNARDO RETIRO))
Error: Invalid EXCL::PREDICATE argument:
#<Vector @ #x20fd488a>
[condition type: SIMPLE-ERROR]
そして、これは成功した実行です:
CG-USER(288): (estaciones-cercanas-a 'Noviciado *vias* *cambio-estacion*)
(SANTO_DOMINGO SAN_BERNARDO PLAZA_DE_ESPAÑA)
解決
バックトレースを貼り付ける必要があります。
しかし、私が読んだように、エラーは基本的に、LISPが述語を予想している場合、何らかの種類のベクトルデータを取得したと述べています。
通常、これはいくつかの議論が間違った位置にあるためです。
他のヒント
最初の関数 if
表現、あなたは持っています
(remove-duplicates
(remove-if #(lambda(x)(eq x estacion))
...
私はあなたが望んでいると思う
(remove-duplicates
(remove-if #'(lambda(x)(eq x estacion))
...
つまり、単一の引用がありません。
所属していません StackOverflow