Previous: Cons Cell Type, Up: Cons Cell Type [Contents][Index]
¥É¥Ã¥ÈÂеˡ¡Êdotted pair notation¡Ë¤È¤Ï¡¢
CAR¤ÈCDR¤òÌÀ¼¨¤·¤¿¥³¥ó¥¹¥»¥ë¤òɽ¤¹¤â¤¦1¤Ä¤Î¹½Ê¸¤Ç¤¹¡£
¤³¤Î¹½Ê¸¤Ç¤Ï¡¢(a . b)
¤Ç¡¢
CAR¤¬¥ª¥Ö¥¸¥§¥¯¥Èa¤Ç¤¢¤ê
CDR¤¬¥ª¥Ö¥¸¥§¥¯¥Èb¤Ç¤¢¤ë¥³¥ó¥¹¥»¥ë¤òɽ¤·¤Þ¤¹¡£
¤·¤¿¤¬¤Ã¤Æ¡¢¥É¥Ã¥ÈÂеˡ¤Ï¡¢¥ê¥¹¥È¤Î¹½Ê¸¤è¤ê¤µ¤é¤ËÈÆÍÑÀ¤¬¤¢¤ê¤Þ¤¹¡£
¥É¥Ã¥ÈÂеˡ¤Ç¤Ï¡¢¥ê¥¹¥È‘(1 2 3)’¤Ï¡¢
‘(1 . (2 . (3 . nil)))’¤È½ñ¤±¤Þ¤¹¡£
nil
¤Ç½ª¤ë¥ê¥¹¥È¤Ê¤é¤Ð¡¢¤É¤Á¤é¤ÎµË¡¤Ç¤â½ñ¤É½¤»¤Þ¤¹¤¬¡¢
¥ê¥¹¥ÈµË¡¤Î¤Û¤¦¤¬¤ï¤«¤ê¤ä¤¹¤¯¤ÆÊØÍø¤Ç¤¹¡£
¥ê¥¹¥È¤òɽ¼¨¤¹¤ë¤È¤¤Ë¤Ï¡¢¥³¥ó¥¹¥»¥ë¤ÎCDR¤¬¥ê¥¹¥È°Ê³°¤Î¾ì¹ç¤Ë¸Â¤Ã¤Æ
¥É¥Ã¥ÈÂеˡ¤ò»È¤¤¤Þ¤¹¡£
¥É¥Ã¥ÈÂеˡ¤òÈ¢¤Çɽ¸½¤·¤Æ¤ß¤Þ¤¹¡£
¤Ä¤®¤ÎÎã¤Ï(rose . violet)
¤òɽ¤·¤¿¤â¤Î¤Ç¤¹¡£
--- --- | | |--> violet --- --- | | --> rose
ºÇ¸å¤ÎCDR¤¬nil
°Ê³°¤Ç¤¢¤ë¤è¤¦¤Ê¥³¥ó¥¹¥»¥ë¤ÎÏ¢º¿¤òɽ¸½¤¹¤ë¤¿¤á¤Ë¡¢
¥ê¥¹¥ÈµË¡¤Ë¥É¥Ã¥ÈÂеˡ¤òÁȤ߹ç¤ï¤»¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
¥ê¥¹¥È¤ÎºÇ¸å¤ÎÍ×ÁǤΤ¢¤È¤Ë¥É¥Ã¥È¤ò½ñ¤¡¢
³¤±¤Æ¡¢ºÇ¸å¤Î¥³¥ó¥¹¥»¥ë¤ÎCDR¤ò½ñ¤¤Þ¤¹¡£
¤¿¤È¤¨¤Ð¡¢(rose violet . buttercup)
¤Ï¡¢
(rose . (violet . buttercup))
¤ËÅù²Á¤Ç¤¹¡£
¤³¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ï¤Ä¤®¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
--- --- --- --- | | |--> | | |--> buttercup --- --- --- --- | | | | --> rose --> violet
(rose . violet . buttercup)
¤È¤¤¤¦¹½Ê¸¤ÏÉÔÀµ¤Ç¤¹¡£
¤³¤ì¤¬°ÕÌ£¤¹¤ë¤³¤È¤Ï¤Ê¤Ë¤â¤¢¤ê¤Þ¤»¤ó¡£
¤¿¤È¤¨¤¢¤Ã¤¿¤È¤·¤Æ¤â¡¢CDR¤òviolet
ÍѤˤ¹¤Ç¤Ë»È¤Ã¤Æ¤¤¤ë¥³¥ó¥¹¥»¥ë¤Î
CDR¤Ëbuttercup
¤òÃÖ¤±¤È¤¤¤¦¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
¥ê¥¹¥È(rose violet)
¤Ï¡¢(rose . (violet))
¤ËÅù²Á¤Ç¤¢¤ê¡¢
¤Ä¤®¤Î¤è¤¦¤Ë¿Þ¼¨¤Ç¤¤Þ¤¹¡£
--- --- --- --- | | |--> | | |--> nil --- --- --- --- | | | | --> rose --> violet
ƱÍͤˡ¢3Í×ÁǤΥꥹ¥È(rose violet buttercup)
¤Ï¡¢
(rose . (violet . (buttercup)))
¤ËÅù²Á¤Ç¤¹¡£