Next: , Previous: Dynamic Loading, Up: Byte Compilation   [Contents][Index]


15.5 ¥³¥ó¥Ñ¥¤¥ë»þ¤Îɾ²Á

¥×¥í¥°¥é¥à¤Î¥³¥ó¥Ñ¥¤¥ë»þ¤Ëɾ²Á¤µ¤ì¤ë¤è¤¦¤Ê¥³¡¼¥É¤ò½ñ¤¯¤¿¤á¤Îµ¡Ç½¤Ç¤¹¡£

Special Form: eval-and-compile body

¤³¤Î¥Õ¥©¡¼¥à¤Ï¡¢¥³¥ó¥Ñ¥¤¥ë¤·¤¿¤ê¼Â¹Ô¤·¤¿¤ê ¡Ê¥³¥ó¥Ñ¥¤¥ë¤·¤Æ¤¢¤Ã¤Æ¤â¤·¤Æ¤Ê¤¯¤Æ¤â¡Ë¤¹¤ë¤È¤­¤Ë body¤òɾ²Á¤¹¤ë¤è¤¦¤Ë°õ¤òÉÕ¤±¤ë¡£

body¤òÊ̤Υե¡¥¤¥ë¤Ë¼ý¤á¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤òrequire¤Ç»²¾È¤·¤Æ¤â Ʊ¤¸·ë²Ì¤òÆÀ¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ body¤¬Â礭¤¤¾ì¹ç¤Ë¤Ï¡¢¤½¤Î¤Û¤¦¤¬¹¥¤Þ¤·¤¤¡£

Special Form: eval-when-compile body

¤³¤Î¥Õ¥©¡¼¥à¤Ï¡¢¥³¥ó¥Ñ¥¤¥ë¤·¤¿¥×¥í¥°¥é¥à¤ò¥í¡¼¥É¤¹¤ë¤È¤­¤Ç¤Ï¤Ê¤¯¡¢ ¥×¥í¥°¥é¥à¤Î¥³¥ó¥Ñ¥¤¥ë»þ¤Ëbody¤òɾ²Á¤¹¤ë¤è¤¦¤Ë°õ¤òÉÕ¤±¤ë¡£ ¥³¥ó¥Ñ¥¤¥é¤¬É¾²Á¤·¤¿·ë²Ì¤Ï¡¢¥³¥ó¥Ñ¥¤¥ë¤·¤¿¥×¥í¥°¥é¥àÆâ¤ËÄê¿ô¤È¤·¤Æ¸½¤ì¤ë¡£ ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ò¥³¥ó¥Ñ¥¤¥ë¤»¤º¤Ë¥í¡¼¥É¤¹¤ë¤È¡¢ body¤òÉáÄ̤ɤª¤êɾ²Á¤¹¤ë¡£

Common Lisp¤Ë´Ø¤·¤¿Ãí°Õ¡§ ¥È¥Ã¥×¥ì¥Ù¥ë¤Ç¤Ï¡¢ Common Lisp¤Î(eval-when (compile eval) …)¤Î¾ïÅå¶ç¤Ë»÷¤Æ¤¤¤ë¡£ ¤½¤ì°Ê³°¤Î²Õ½ê¤Ç¤Ï¡¢Common Lisp¤Î‘#.’¥ê¡¼¥À¥Þ¥¯¥í¤Ï ¡Ê²ò¼á¼Â¹Ô»þ¤Ç¤Ï¤Ê¤±¤ì¤Ð¡Ëeval-when-compile¤¬¹Ô¤¦¤³¤È¤Ë¶á¤¤¡£