setq: タイプ引数が間違っています: listp 1

キャメロン

私のグループと私は、短所リストのリストを作成しようとしています。こんな感じかも

((2 100032) (4 32413) (6 2131251) ... (232 12))

残念ながら、「間違った型引数」を受け取り続けます。それは単純なことかもしれませんが、短所について何か間違ったことをしているのではないかと私も思います。

感謝されます:

(defun find-diffs ()
    (let ((diffs (list))
          (index 0)
          (previous 0))
         (while (< index (length first-ten-million-primes))
           ; Add the difference to the list of diffs.
           (setq diff (- (aref first-ten-million-primes index) previous))
           ; We only want to bother recording it if the index is above zero and
           ; the difference is odd.
           (if (and (> index 0) (evenp diff))
             (setq diffs
               ; Can we find this one in our list of diffs?
               (if (cdr (assoc diff diffs))

                 ; Yes
                 ; ERROR happens when we call this statement
                 (setq diffs 
                   (append (cons diff (1+ (car (cdr (assq diff diffs)))))
                           (assq-delete-all diff diffs)))
                 ; No
                 (setq diffs (plist-put diffs diff 1)))))
           ; Set previous value to this one.
           (setq previous (aref first-ten-million-primes index))
           ; Increment the index.
           (setq index (1+ index)))
         diffs)

(setq diffs) をコメントアウトすると修正されますが、変数の設定方法に問題はありません。

ありがとう!

バックトレースが大きいので、最初の部分だけを投稿します。私のチームはまだ何が問題なのか混乱しているため、回答をいただければ幸いです。

デバッガーのバックトレース:

Debugger entered--Lisp error: (wrong-type-argument listp 1)
  append((2 . 1) nil)
  (setq diffs (append (cons diff 1) diffs))
  (if (cdr (assoc diff diffs)) (setq diffs (append (cons diff (1+ (car (cdr (assq diff diffs)))))
ステファン

あなたの問題は次の場所にあります:

               (append (cons diff (1+ (car (cdr (assq diff diffs)))))
                       (assq-delete-all diff diffs)))

そこconsまで(DIFF . N)は、適切なリストではないフォームのセルを作成しますこれは、2 つの要素のリストではなく、2 つの要素のペアです。2 つの要素のリスト(DIFF N)は、 の省略ある形式になり(DIFF . (N . nil))ます。

あなたの全体的な目標を理解しようとはしていませんが、問題を解決するには 2 つの方法があります。

(append (cons diff FOO)
        ...)

(append (list diff FOO)
        ...)

または

(cons (cons diff FOO)
      ...)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

EMACSオートコンプリート:タイマー 'ac-update-greedy'の実行中にエラーが発生しました:(引数の数が間違っていますsetq1)

分類Dev

第1引数のタイプが間違っています

分類Dev

EmacsLispのsetqとsetq-defaultの違い

分類Dev

LETとSETQの違いは?

分類Dev

評価エラー-間違った型引数:listp

分類Dev

引数の数が間違っています(1対2)

分類Dev

listpからの予期しない結果

分類Dev

第1引数のタイプが間違っています。見つかった:「com.example.sunshine.FetchData」、必須:「android.content.Context」

分類Dev

CommonLispの `set`、` setq`、 `setf`の違いは?

分類Dev

Rails 5の引数の数が間違っています(2、期待1)

分類Dev

引数の数が間違っています(1の場合は0)

分類Dev

引数の数が間違っています(0の場合は1)(Social Gem)

分類Dev

Rails ActiveCampaign gem-引数の数が間違っています(2対1)

分類Dev

Rails ActiveCampaign gem-引数の数が間違っています(2対1)

分類Dev

引数の数が間違っています(2対1)RoRエラー

分類Dev

Rails:引数の数が間違っています(1の場合は0)

分類Dev

Rails:引数の数が間違っています(0の場合は1)

分類Dev

ActiveRecord.find引数の数が間違っています2for 1

分類Dev

Ruby on RailsとMongomapper:引数の数が間違っています(2対1)

分類Dev

`name ':引数の数が間違っています(0の場合は1)(ArgumentError)

分類Dev

RailsTutorial第8章引数の数が間違っています(1対2)

分類Dev

型引数の数が間違っています:1が必要ですが、0が見つかりました

分類Dev

Rails:引数の数が間違っています(1が与えられ、0が期待されます)

分類Dev

ArgumentError:引数の数が間違っています(0が与えられ、1が期待されます)Ruby

分類Dev

Jekyll:引数の数が間違っています(2が与えられ、1が期待されます)(ArgumentError)

分類Dev

Rails:引数の数が間違っています(1が与えられ、0が期待されます)

分類Dev

Ruby on Rails: 引数の数が間違っています (0 を指定すると 1 が期待されます)

分類Dev

引数1はイテレータでなければなりません-何が間違っているのですか?

分類Dev

引数の数が間違っています (与えられた 0、1 が期待されます) - Ruby

Related 関連記事

  1. 1

    EMACSオートコンプリート:タイマー 'ac-update-greedy'の実行中にエラーが発生しました:(引数の数が間違っていますsetq1)

  2. 2

    第1引数のタイプが間違っています

  3. 3

    EmacsLispのsetqとsetq-defaultの違い

  4. 4

    LETとSETQの違いは?

  5. 5

    評価エラー-間違った型引数:listp

  6. 6

    引数の数が間違っています(1対2)

  7. 7

    listpからの予期しない結果

  8. 8

    第1引数のタイプが間違っています。見つかった:「com.example.sunshine.FetchData」、必須:「android.content.Context」

  9. 9

    CommonLispの `set`、` setq`、 `setf`の違いは?

  10. 10

    Rails 5の引数の数が間違っています(2、期待1)

  11. 11

    引数の数が間違っています(1の場合は0)

  12. 12

    引数の数が間違っています(0の場合は1)(Social Gem)

  13. 13

    Rails ActiveCampaign gem-引数の数が間違っています(2対1)

  14. 14

    Rails ActiveCampaign gem-引数の数が間違っています(2対1)

  15. 15

    引数の数が間違っています(2対1)RoRエラー

  16. 16

    Rails:引数の数が間違っています(1の場合は0)

  17. 17

    Rails:引数の数が間違っています(0の場合は1)

  18. 18

    ActiveRecord.find引数の数が間違っています2for 1

  19. 19

    Ruby on RailsとMongomapper:引数の数が間違っています(2対1)

  20. 20

    `name ':引数の数が間違っています(0の場合は1)(ArgumentError)

  21. 21

    RailsTutorial第8章引数の数が間違っています(1対2)

  22. 22

    型引数の数が間違っています:1が必要ですが、0が見つかりました

  23. 23

    Rails:引数の数が間違っています(1が与えられ、0が期待されます)

  24. 24

    ArgumentError:引数の数が間違っています(0が与えられ、1が期待されます)Ruby

  25. 25

    Jekyll:引数の数が間違っています(2が与えられ、1が期待されます)(ArgumentError)

  26. 26

    Rails:引数の数が間違っています(1が与えられ、0が期待されます)

  27. 27

    Ruby on Rails: 引数の数が間違っています (0 を指定すると 1 が期待されます)

  28. 28

    引数1はイテレータでなければなりません-何が間違っているのですか?

  29. 29

    引数の数が間違っています (与えられた 0、1 が期待されます) - Ruby

ホットタグ

アーカイブ