Next: Customization, Previous: Functions, Up: Top [Contents][Index]
¥Þ¥¯¥í¡Êmacros¡Ë¤Ë¤è¤ê¡¢ ¿·¤¿¤ÊÀ©¸æ¹½Â¤¤Î¹½Ê¸¤òÄêµÁ¤·¤¿¤ê¡¢Â¾¤Î¸À¸ì¤Îµ¡Ç½¤òÄêµÁ¤·¤¿¤ê¤Ç¤¤Þ¤¹¡£ ¥Þ¥¯¥í¤Ï´Ø¿ô¤Î¤è¤¦¤ËÄêµÁ¤·¤Þ¤¹¤¬¡¢Ãͤη׻»ÊýË¡¤ò»Ø¼¨¤¹¤ë¤«¤ï¤ê¤Ë¡¢ Ãͤò·×»»¤¹¤ë¤¿¤á¤ÎÊ̤ÎLisp¼°¤Î·×»»ÊýË¡¤ò»Ø¼¨¤·¤Þ¤¹¡£ ¤³¤Î¼°¤ò¥Þ¥¯¥í¤ÎŸ³«·Á¡Êexpansion¡Ë¤È¸Æ¤Ó¤Þ¤¹¡£
¥Þ¥¯¥í¤Ç¤³¤Î¤è¤¦¤Ê¤³¤È¤¬¤Ç¤¤ë¤Î¤Ï¡¢ ´Ø¿ô¤¬É¾²ÁºÑ¤ß¤Î°ú¿ô¤òÁàºî¤¹¤ë¤Î¤ËÂФ·¤Æ¡¢ ¥Þ¥¯¥í¤Ï°ú¿ô¤Î̤ɾ²Á¤Î¼°¤òÁàºî¤¹¤ë¤«¤é¤Ç¤¹¡£ ¤½¤Î¤¿¤á¡¢¤³¤ì¤é¤Î°ú¿ô¤Î¼°¤ä¤½¤Î°ìÉô¤ò´Þ¤àŸ³«·Á¤ò¹½ÃۤǤ¤ë¤Î¤Ç¤¹¡£
¼Â¹Ô®Å٤Τ¿¤á¤ËÉáÄ̤δؿô¤Ç¤Ç¤¤ë¤³¤È¤Ë¥Þ¥¯¥í¤ò»È¤¦¤Î¤Ç¤¢¤ì¤Ð¡¢ ¤½¤Î¤«¤ï¤ê¤Ë¥¤¥ó¥é¥¤¥ó´Ø¿ô¤ò»È¤¦¤³¤È¤ò¹Í¤¨¤Æ¤¯¤À¤µ¤¤¡£
• Simple Macro: | A basic example. | |
• Expansion: | How, when and why macros are expanded. | |
• Compiling Macros: | How macros are expanded by the compiler. | |
• Defining Macros: | How to write a macro definition. | |
• Backquote: | Easier construction of list structure. | |
• Problems with Macros: | Don’t evaluate the macro arguments too many times. Don’t hide the user’s variables. |