Next: , Previous: Sequences Arrays Vectors, Up: Sequences Arrays Vectors   [Contents][Index]


6.1 ¥·¡¼¥±¥ó¥¹

Emacs Lisp¤Ç¤Ï¡¢¥·¡¼¥±¥ó¥¹¡Êsequence¡Ë¤È¤Ï¥ê¥¹¥È¤«ÇÛÎó¤Î¤³¤È¤Ç¤¹¡£ ¤¹¤Ù¤Æ¤Î¥·¡¼¥±¥ó¥¹¤Ë¶¦Ä̤¹¤ëÀ­¼Á¤Ï¡¢ Í×ÁÇ¤Î½ç½øÉÕ¤±¤¿½¸¤Þ¤ê¤Ç¤¢¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£ ËÜÀá¤Ç¤ÏǤ°Õ¤Î¥·¡¼¥±¥ó¥¹¤ò¼õ¤±ÉÕ¤±¤ë´Ø¿ô¤òÀâÌÀ¤·¤Þ¤¹¡£

Function: sequencep object

object¤¬¡¢¥ê¥¹¥È¡¢¥Ù¥¯¥È¥ë¡¢¤¢¤ë¤¤¤Ï¡¢Ê¸»úÎó¤Ê¤é¤Ðt¤òÊÖ¤·¡¢ ¤µ¤â¤Ê¤±¤ì¤Ðnil¤òÊÖ¤¹¡£

Function: length sequence

¤³¤Î´Ø¿ô¤ÏsequenceÆâ¤ÎÍ×ÁǤθĿô¤òÊÖ¤¹¡£ sequence¤¬¡ÊºÇ¸å¤ÎCDR¤¬nil¤Ç¤Ï¤Ê¤¤¤¿¤á¡Ë ¥ê¥¹¥È¤Ç¤Ï¤Ê¤¤¥³¥ó¥¹¥»¥ë¤Ç¤¢¤ë¤È¡¢ ¥¨¥é¡¼wrong-type-argument¤òÄÌÃΤ¹¤ë¡£

´ØÏ¢¤¹¤ë´Ø¿ôsafe-length¤Ë¤Ä¤¤¤Æ¤Ï¡¢see List Elements¡£

(length '(1 2 3))
    ⇒ 3
(length ())
    ⇒ 0
(length "foobar")
    ⇒ 6
(length [1 2 3])
    ⇒ 3
(length (make-bool-vector 5 nil))
    ⇒ 5
Function: elt sequence index

¤³¤Î´Ø¿ô¤Ïindex¤Çź»úÉÕ¤±¤µ¤ì¤ësequence¤ÎÍ×ÁǤòÊÖ¤¹¡£ index¤ÎÀµÅö¤ÊÃͤϡ¢0¤«¤ésequence¤ÎŤµ¤è¤ê1¾®¤µ¤¤ÈϰϤΠÀ°¿ô¤Ç¤¢¤ë¡£ sequence¤¬¥ê¥¹¥È¤Ç¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢ Èϰϳ°¤Îindex¤ËÂФ·¤Æ¤Ïnil¤òÊÖ¤¹¡£ ¤µ¤â¤Ê¤±¤ì¤Ð¥¨¥é¡¼args-out-of-range¤ò°ú¤­µ¯¤³¤¹¡£

(elt [1 2 3 4] 2)
     ⇒ 3
(elt '(1 2 3 4) 2)
     ⇒ 3
;; string¤òÍѤ¤¤Æelt¤¬ÊÖ¤¹Ê¸»ú¤òÌÀ³Î¤Ë¤¹¤ë
(string (elt "1234" 2))
     ⇒ "3"
(elt [1 2 3 4] 4)
     error→ Args out of range: [1 2 3 4], 4
(elt [1 2 3 4] -1)
     error→ Args out of range: [1 2 3 4], -1

¤³¤Î´Ø¿ô¤Ï¡¢aref¡Êsee Array Functions¡Ë¤ä nth¡Êsee List Elements¡Ë¤òÈÆÍѤˤ·¤¿¤â¤Î¤Ç¤¢¤ë¡£

Function: copy-sequence sequence

sequence¤Î¥³¥Ô¡¼¤òÊÖ¤¹¡£ ¥³¥Ô¡¼¤Ï¡¢¤â¤È¤Î¥·¡¼¥±¥ó¥¹¤ÈƱ¤¸·¿¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¢¤ê¡¢ Ʊ¤¸Í×ÁǤ¬Æ±¤¸½ç½ø¤ÇÆþ¤Ã¤Æ¤¤¤ë¡£

¥³¥Ô¡¼¤Ë¿·¤¿¤ÊÍ×ÁǤò³ÊǼ¤·¤Æ¤â¡¢¤â¤È¤Îsequence¤Ë¤Ï±Æ¶Á¤»¤º¡¢ ¤½¤ÎµÕ¤â¤½¤¦¤Ç¤¢¤ë¡£ ¤·¤«¤·¡¢¿·¤¿¤Ê¥·¡¼¥±¥ó¥¹¤ÎÍ×ÁǤϥ³¥Ô¡¼¤·¤Æ¤¤¤Ê¤¤¡£ ¤Ä¤Þ¤ê¡¢¤½¤ì¤é¤Ï¤â¤È¤ÎÍ×ÁÇ¤ÈÆ±°ì¡Êeq¡Ë¤Ç¤¢¤ë¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢¥·¡¼¥±¥ó¥¹¤Î¥³¥Ô¡¼¤Ë¤ª¤¤¤Æ¡¢ ¤½¤ì¤é¤ÎÍ×ÁÇ¤ÎÆâÉô¤òÊѹ¹¤¹¤ë¤È¡¢¤â¤È¤Î¥·¡¼¥±¥ó¥¹¤Ç¤â¤½¤ÎÊѹ¹¤¬¤ï¤«¤ë¡£

¥·¡¼¥±¥ó¥¹¤¬¥Æ¥­¥¹¥È°À­¤ò»ý¤Äʸ»úÎó¤Ç¤¢¤ë¾ì¹ç¤Ë¤Ï¡¢ ¥³¥Ô¡¼¤ÎÃæ¤Î°À­¥ê¥¹¥È¤½¤Î¤â¤Î¤â¥³¥Ô¡¼¤Ç¤¢¤ê¡¢ ¤â¤È¤Î°À­¥ê¥¹¥È¤ò¶¦Í­¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¤¡£ ¤·¤«¤·¡¢Â°À­¤Î¼ÂºÝ¤ÎÃͤ϶¦Í­¤µ¤ì¤ë¡£

¥·¡¼¥±¥ó¥¹¤ò¥³¥Ô¡¼¤¹¤ëÊ̤ÎÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢ Building Lists¤Îappend¡¢Creating Strings¤Îconcat¡¢ Vectors¤Îvconcat¤ò»²¾È¡£

(setq bar '(1 2))
     ⇒ (1 2)
(setq x (vector 'foo bar))
     ⇒ [foo (1 2)]
(setq y (copy-sequence x))
     ⇒ [foo (1 2)]
(eq x y)
     ⇒ nil
(equal x y)
     ⇒ t
(eq (elt x 1) (elt y 1))
     ⇒ t
;; 1¤Ä¤Î¥·¡¼¥±¥ó¥¹¤Î1¤Ä¤ÎÍ×ÁǤòÃÖ¤­´¹¤¨¤ë
(aset x 0 'quux)
x ⇒ [quux (1 2)]
y ⇒ [foo (1 2)]
;; ¶¦Í­¤µ¤ì¤¿Í×ÁÇ¤ÎÆâÉô¤ò½¤Àµ¤¹¤ë
(setcar (aref x 1) 69)
x ⇒ [quux (69 2)]
y ⇒ [foo (69 2)]

Next: , Previous: Sequences Arrays Vectors, Up: Sequences Arrays Vectors   [Contents][Index]