Next: Association Lists, Previous: Modifying Lists, Up: Lists [Contents][Index]
¥ê¥¹¥È¤Ç¡¢¿ô³Ø¤Î½ç½ø¤Î¤Ê¤¤½¸¹ç¤òɽ¸½¤Ç¤¤Þ¤¹¡£
¤Ä¤Þ¤ê¡¢¥ê¥¹¥È¤Ë¸½¤ì¤ëÍ×ÁǤò½¸¹ç¤ÎÍ×ÁǤȹͤ¨¡¢
¥ê¥¹¥ÈÆâ¤Ç¤Î½ç½ø¤Ï̵»ë¤·¤Þ¤¹¡£
2¤Ä¤Î½¸¹ç¤ÎϽ¸¹ç¤òºî¤ë¤Ë¤Ï¡¢
¡ÊÍ×ÁǤ¬½ÅÊ£¤¹¤ë¤³¤È¤òµ¤¤Ë¤·¤Ê¤±¤ì¤Ð¡Ëappend
¤ò»È¤¤¤Þ¤¹¡£
½¸¹ç¸þ¤±¤Î¾¤ÎÍÍѤʴؿô¤Ë¤Ï¡¢memq
¤ädelq
¡¢¤ª¤è¤Ó¡¢
¤³¤ì¤é¤Îequal
ÈǤǤ¢¤ëmember
¤ädelete
¤¬¤¢¤ê¤Þ¤¹¡£
Common Lisp¤Ë´Ø¤·¤¿Ãí°Õ¡§
Common Lisp¤Ë¤Ï¡¢½¸¹ç±é»»¸þ¤±¤Ë ¡ÊÍ×ÁǤνÅÊ£¤òÈò¤±¤ë¡Ë´Ø¿ô
union
¤Èintersection
¤¬¤¢¤ë¤¬¡¢ GNU Emacs Lisp¤Ë¤Ï¤Ê¤¤¡£ ɬÍפʤé¤Ð¡¢ÆÉ¼Ô¤ß¤º¤«¤éLisp¤Ç¤³¤ì¤é¤ò½ñ¤±¤ë¡£
¤³¤Î´Ø¿ô¤Ï¡¢object¤¬list¤ÎÍ×ÁǤ«¤É¤¦¤«Ä´¤Ù¤ë¡£
¤½¤¦¤Ê¤é¤Ð¡¢
memq
¤Ïobject¤¬ºÇ½é¤Ë¸½¤ì¤ë¤È¤³¤í¤«¤é»Ï¤Þ¤ë¥ê¥¹¥È¤òÊÖ¤¹¡£
¤µ¤â¤Ê¤±¤ì¤Ðnil
¤òÊÖ¤¹¡£
memq
¤Îʸ»ú‘q’¤Ï¡¢¥ê¥¹¥È¤ÎÍ×ÁǤËÂФ¹¤ëobject¤ÎÈæ³Ó¤Ë
eq
¤ò»È¤¦¤³¤È¤ò°ÕÌ£¤¹¤ë¡£
¤¿¤È¤¨¤Ð¡¢
(memq 'b '(a b c b a)) ⇒ (b c b a)
(memq '(2) '((1) (2))) ; (2)
¤È(2)
¤Ïeq
¤Ç¤Ï¤Ê¤¤
⇒ nil
¤³¤Î´Ø¿ô¤Ï¡¢list¤«¤éobject¤Ëeq
¤Ç¤¢¤ë¤¹¤Ù¤Æ¤ÎÍ×ÁǤò
Ç˲õŪ¤Ëºï½ü¤¹¤ë¡£
delq
¤Îʸ»ú‘q’¤Ï¡¢memq
¤ÈƱÍͤˡ¢
¥ê¥¹¥È¤ÎÍ×ÁǤËÂФ¹¤ëobject¤ÎÈæ³Ó¤Ëeq
¤ò»È¤¦¤³¤È¤ò°ÕÌ£¤¹¤ë¡£
delq
¤¬¥ê¥¹¥È¤ÎÀèÆ¬¤«¤éÍ×ÁǤòºï½ü¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢
ñ¤Ë¥ê¥¹¥È¤òé¤Ã¤Æºï½ü¤·¤¿Í×ÁǤΤĤ®¤«¤é»Ï¤Þ¤ëÉôʬ¥ê¥¹¥È¤òÊÖ¤·¤Þ¤¹¡£
(delq 'a '(a b c)) ≡ (cdr '(a b c))
¥ê¥¹¥È¤ÎÃæ¤Û¤É¤ÎÍ×ÁǤòºï½ü¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢ ºï½ü¤Ë¤ÏCDR¤ÎÊѹ¹¤òȼ¤¤¤Þ¤¹¡Êsee Setcdr¡Ë¡£
(setq sample-list '(a b c (4))) ⇒ (a b c (4))
(delq 'a sample-list) ⇒ (b c (4))
sample-list ⇒ (a b c (4))
(delq 'c sample-list) ⇒ (a b (4))
sample-list ⇒ (a b (4))
(delq 'c sample-list)
¤Ï¡¢
3ÈÖÌܤÎÍ×ÁǤòÀÚ¤ê¼è¤Ã¤Æsample-list
¤òÊѹ¹¤·¤Þ¤¹¤¬¡¢
(delq 'a sample-list)
¤Ç¤Ï¡¢
¤Ê¤Ë¤âÀÚ¤ê¼è¤é¤º¤Ëñ¤Ëû¤¤¥ê¥¹¥È¤òÊÖ¤¹¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
°ú¿ôlist¤òÊÝ»ý¤·¤Æ¤¤¤¿ÊÑ¿ô¤¬¡¢¼Â¹Ô¸å¤Ë¤Ï¾¯¤Ê¤¤Í×ÁǤò»ý¤Ä¤È²¾Äꤷ¤¿¤ê¡¢
¤â¤È¤Î¥ê¥¹¥È¤òÊÝ»ý¤·Â³¤±¤Æ¤¤¤ë¤È²¾Äꤷ¤¿¤ê¤·¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡ª
¤½¤Î¤«¤ï¤ê¤Ë¡¢delq
¤Î·ë²Ì¤òÊݸ¤·¤Æ¡¢¤½¤ì¤ò»È¤Ã¤Æ¤¯¤À¤µ¤¤¡£
¿¤¯¤Î¾ì¹ç¡¢¤Ä¤®¤Î¤è¤¦¤Ë¡¢
¤â¤È¤Î¥ê¥¹¥È¤òÊÝ»ý¤·¤Æ¤¤¤¿ÊÑ¿ô¤Ë·ë²Ì¤òÊݸ¤·Ä¾¤·¤Þ¤¹¡£
(setq flowers (delq 'rose flowers))
¤Ä¤®¤ÎÎã¤Ç¤Ï¡¢delq
¤¬°ìÃפò¼è¤í¤¦¤È¤·¤Æ¤¤¤ë(4)
¤È
sample-list
¤Î(4)
¤È¤Ïeq
¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£
(delq '(4) sample-list) ⇒ (a c (4))
¤Ä¤®¤Î2¤Ä¤Î´Ø¿ô¤Ï¡¢memq
¤ädelq
¤Ë»÷¤Æ¤¤¤Þ¤¹¤¬¡¢
Èæ³Ó¤Ë¤Ïeq
¤Î¤«¤ï¤ê¤Ëequal
¤ò»È¤¤¤Þ¤¹¡£
See Equality Predicates¡£
´Ø¿ômember
¤Ï¡¢equal
¤ò»È¤Ã¤Æobject¤ÈÍ×ÁǤòÈæ³Ó¤·¤Æ¡¢
object¤¬list¤ÎÍ×ÁǤ«¤É¤¦¤«Ä´¤Ù¤ë¡£
object¤¬Í×ÁǤǤ¢¤ì¤Ð¡¢
member
¤ÏlistÆâ¤Ç¤½¤ì¤¬ºÇ½é¤Ë¸½¤ì¤ë¤È¤³¤í¤«¤é»Ï¤Þ¤ë¥ê¥¹¥È¤òÊÖ¤¹¡£
¤µ¤â¤Ê¤±¤ì¤Ðnil
¤òÊÖ¤¹¡£
memq
¤ÈÈæ³Ó¤·¤Æ¤Û¤·¤¤¡£
(member '(2) '((1) (2))) ; (2)
¤È(2)
¤Ïequal
¤Ç¤¢¤ë
⇒ ((2))
(memq '(2) '((1) (2))) ; (2)
¤È(2)
¤Ïeq
¤Ç¤Ï¤Ê¤¤
⇒ nil
;; Ʊ¤¸ÆâÍÆ¤Î2¤Ä¤Îʸ»úÎó¤Ïequal
¤Ç¤¢¤ë
(member "foo" '("foo" "bar"))
⇒ ("foo" "bar")
¤³¤Î´Ø¿ô¤Ï¡¢list¤«¤éobject¤Ëequal
¤Ç¤¢¤ë¤¹¤Ù¤Æ¤ÎÍ×ÁǤò
Ç˲õŪ¤Ëºï½ü¤¹¤ë¡£
member
¤¬memeq
¤ËÂбþ¤¹¤ë¤è¤¦¤Ë¡¢delq
¤ËÂбþ¤¹¤ë¡£
member
¤ÈƱÍͤˡ¢
Í×ÁǤÈobject¤È¤ÎÈæ³Ó¤Ë¤Ïequal
¤ò»È¤¦¡£
°ìÃפ¹¤ëÍ×ÁǤò¤ß¤Ä¤±¤ë¤È¡¢delq
¤ÈƱÍͤËÍ×ÁǤòºï½ü¤¹¤ë¡£
¤¿¤È¤¨¤Ð¡¢¤Ä¤®¤Î¤È¤ª¤ê¡£
(delete '(2) '((2) (1) (2))) ⇒ ((1))
Common Lisp¤Ë´Ø¤·¤¿Ãí°Õ¡§
GNU Emacs Lisp¤Î´Ø¿ô
member
¤È´Ø¿ôdelete
¤Ï Maclisp¤«¤é¼õ¤±·Ñ¤¤¤À¤â¤Î¤Ç¤¢¤ê¡¢Common Lisp¤«¤é¤Ç¤Ï¤Ê¤¤¡£ Common LispÈǤǤÏÍ×ÁǤÎÈæ³Ó¤Ë¤Ïequal
¤ò»È¤ï¤Ê¤¤¡£
ÊÑ¿ô¤Ë³ÊǼ¤·¤¿¥ê¥¹¥È¤ËÍ×ÁǤòÄɲ乤ëÊ̤ÎÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢
Setting Variables¤Î´Ø¿ôadd-to-list
¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
Next: Association Lists, Previous: Modifying Lists, Up: Lists [Contents][Index]