Emacs-Lisp > append

概要

  • Function: append &rest SEQUENCES
この関数はSEQUENCESのすべての要素から成るリストを返す。
この関数はSEQUENCESを破壊せず、コピーしたリストを返す。(@see Emacs-Lisp/nconc)
SEQUENCESの最後の要素がリストでない場合、結果の最後のCDRが純リストに必要とされる`nil'ではないので、結果は『ドット対』になる。

  • 一般的な例
(append '(maple birch) '(pine oak))
=> (maple birch pine oak)

  • 空要素は無視される
(append '(pine oak) nil))
=> (pine oak)

  • ベクトルの例
(append [a b] nil)
=> (a b)

  • 文字列を使った例
    • 文字列は文字コードのリストに変換される
    • ※ この変換を利用する際末尾は文字列意外の要素であること
(append "cd" nil)
=> (99 100)

  • `apply'の助けを借りれば、リストのリストの中にあるすべてのリストを連結できます。
(apply 'append '((a b c) nil (x y z) nil))
=> (a b c x y z)

  • SEQUENCESをまったく指定しないと`nil'を返します。
(append)
=> nil

  • 最後の引数がリストではない例をいくつか示します。
(append '(x y) 'z)
=> (x y . z)
(append '(x y) [z])
=> (x y . [z])
(append '(a) "cd")
=> (a . "cd")


呼出元

コメント:

履歴

  • 作者:kobapan
  • 日付:2009/01/03
  • 対象:
更新日 更新者 更新内容

コメント

名前:
コメント:
最終更新:2009年01月09日 06:39