タグ付けされた質問 「list」

1
'(a。b)は本当にリストですか?
私はこの.表記法と本当に混同しています。'(a . b)リストはありますか? (listp '(a . b))戻りますtが、その長さを知りたいときに(length '(a . b))エラーが発生しますWrong type argument: listp, b。他の関数nth,mapcarなども同じです。すべて同じエラーが発生します 私は区別することができます任意の関数があり'(a b)とは'(a . b)? コンテキスト:の再帰バージョンを実装しようとしたときに、この問題が発生しましたmapcar。これが私の実装です (defun true-listp (object) "Return non-`nil' if OBJECT is a true list." (and (listp object) (null (cdr (last object))))) (defun recursive-mapcar (func list) "Evaluates func on elements of the list, then on …

2
2つのリストを連結する方法は?
申し訳ありませんが、elispは私のベストではありません。この方法で文字列の2つのリストを組み合わせる必要があります。 ("a" "b" "c") + ("d" "e" "f") -> ("a" "b" "c" "d" "e" "f") さて、順序は重要ではないので、このコードを書きました。 (while lista (add-to-list 'listb (car lista)) (setq lista (cdr lista))) それは動作しますが、私はすでにこれを行う機能があるのだろうかと思っています。 どんな手掛かり?前もって感謝します。
13 list 

1
(。123)での期間の意味
. /path/to/filebashで学んだことは、ファイルの実行に使用されます。好奇心から、私はEmacsで次のようなものを評価します (. 123) ⇒ 123 (read "(. 123)") ⇒ 123 Emacsは単にと読みます(. 123)が123、どうしたのですか?
12 elisp  list  read 

7
リストのn番目の要素を削除/削除する方法
Q: リストのn番目の要素を削除/削除する方法。 警告:n番目の要素に一致するすべての出現/メンバーを削除しないでください(例:eqまたは)equal。 例:次の17番目の要素を削除します。 '(a b c d e f g h i j k l m n o p q r s t u v w x y z) n番目の要素-チートシート/凡例: element 0: a element 1: b element 2: c element 3: d element 4: e element 5: f element …
9 list 

2
リストの適切な再初期化?内部で何が起こっていますか?
私はもう少しelispを教えています、そして次の問題に遭遇しました: リスト変数をリセットしたい場合、最初の評価後に更新されません。ここにいくつかのサンプルコードがあります: (defun initilize () (setq example '(3))) (defun modify () (initilize) (message "%S" example) (setcar example 2)) ; M-x eval-buffer RET (modify) ; message --> (3) (modify) ; message --> (2) (modify) ; message --> (2) 私は2つのことに興味があります。1つ目は、「内部」で何が起こっているのかを詳しく知ることです。なぜそれが初めて機能し、その後の呼び出しで失敗するのでしょうか。 2番目のより実用的な質問は、リストを適切に再初期化する方法ですか、またはそのようなことを行う別の一般的な方法はありますか? 私が見つけた1つの回避策は、引用リストを使用して、次のようにコンテンツを評価することです。 (setq example `(,3))

5
リスト内の重複を報告しますか?
Q:リスト内の重複する要素のみを取得するにはどうすればよいですか? delete-dups(およびcl-delete-duplicates)リストからすべての重複要素を削除します。 (delete-dups '(a b c c d d)) ; => '(a b c d) 逆が欲しい:リストの重複のみを返す関数はありますか? (mystery-function '(a b c c d d)) ; => '(c d)
7 list 

1
2項目リストをドットペアに変換しますか?
Q: 2アイテムリストをドットペアconsセルに変換するにはどうすればよいですか? 2項目のリストを次のようにドットペアに変換できます。 (let ((list '(1 2))) (cons (car list) (cadr list))) ; => (1 . 2) 私はブランキングしています:これを行う組み込み関数はありますか、それとも自分でロールする必要がありますか?
7 list 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.