Next: , Previous: Typed Variables, Up: Def Cmds in Detail   [Contents][Index]


15.4.5 ¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¥×¥í¥°¥é¥ß¥ó¥°

¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¥×¥í¥°¥é¥ß¥ó¥°¤Ç»ÈÍѤ¹¤ë¤è¤¦¤Ê¡¤Ãê¾ÝŪ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤Ë´Ø ¤¹¤ëµ­½Ò¤ò½ñ¼°²½¤¹¤ë¤¿¤á¤Î¥³¥Þ¥ó¥É¤Ë¤Ï°Ê²¼¤Î¤â¤Î¤¬¤¢¤ê¤Þ¤¹¡¥¥¯¥é¥¹¤ÏÃê¾Ý Ū¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤ÎÄêµÁ¤µ¤ì¤¿·¿¤Ç¤¹¡¥¥¯¥é¥¹¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ï¥¯¥é¥¹¤Î·¿¤ò»ý ¤ÄÆÃÄê¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¹¡¥¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô¤Ï¥¯¥é¥¹¤Ë°¤¹¤ë¤¬¤½¤ì¤¾¤ì¤Î¥¤ ¥ó¥¹¥¿¥ó¥¹¤¬ÆÈ¼«¤ÎÃͤò»ý¤ÄÊÑ¿ô¤Ç¤¹¡¥

ÄêµÁ¤Ç¤Ï¡¤¥¯¥é¥¹Ì¾¤Ï¥¯¥é¥¹¤ËÂФ¹¤ë¥×¥í¥°¥é¥ß¥ó¥°¥·¥¹¥Æ¥à¤ÇËÜÅö¤ËÄêµÁ¤µ¤ì ¤¿Ì¾Á°¤Î¾ì¹ç¡¤@code¤ò¤½¤Î¼þ¤ê¤Ë½ñ¤¯¤Ù¤­¤Ç¤¹¡¥¤½¤¦¤·¤Ê¤¤¾ì¹ç¡¤ÄÌ ¾ï¤Î¥Æ¥­¥¹¥È¥Õ¥©¥ó¥È¤Ç°õºþ¤µ¤ì¤Þ¤¹¡¥

@defcv category class name

@defcv¥³¥Þ¥ó¥É¤Ï¡¤¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¥×¥í¥°¥é¥ß¥ó¥°¤Ç¡¤¥¯¥é¥¹¤Ë´ØÏ¢ ¤¹¤ëÊÑ¿ô¤ËÂФ¹¤ë°ìÈÌŪ¤ÊÄêµÁ¥³¥Þ¥ó¥É¤Ç¤¹¡¥@defcv¥³¥Þ¥ó¥É¤Ï»°¤Ä¤Î °ú¿ô¤ò¤È¤ê¤Þ¤¹¡¥ÄêµÁ¤·¤Æ¤¤¤ë»öÊÁ¤Î¥«¥Æ¥´¥ê̾¡¤Â°¤¹¤ë¥¯¥é¥¹¡¤¤½¤·¤Æ¤½¤Î̾ Á°¤Ç¤¹¡¥¤³¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡¥

@defcv {Class Option} Window border-pattern
…
@end defcv

¤³¤ì¤Ï¡¤Window¥¯¥é¥¹¤Îborder-pattern¥¯¥é¥¹¥ª¥×¥·¥ç¥ó¤ÎÄêµÁ ¤ÎºÇ½é¤Î¹Ô¤Î½ñ¤­Êý¤òÀâÌÀ¤·¤Æ¤¤¤Þ¤¹¡¥

¥Æ¥ó¥×¥ì¡¼¥È¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡¥

@defcv category class name
…
@end defcv

@defcv¤ÏÊÑ¿ôº÷°ú¤Ë¹àÌܤòºîÀ®¤·¤Þ¤¹¡¥

@defivar class name

@defivar¥³¥Þ¥ó¥É¤Ï¡¤¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¥×¥í¥°¥é¥ß¥ó¥°¤Î¥¤¥ó¥¹¥¿¥ó¥¹ ÊÑ¿ô¤ËÂФ¹¤ëÄêµÁ¥³¥Þ¥ó¥É¤Ç¤¹¡¥@defivar¤Ï‘@defcv {Instance Variable} …’¤ÈƱ¤¸¤Ç¤¹¡¥

¥Æ¥ó¥×¥ì¡¼¥È¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡¥

@defivar class instance-variable-name
body-of-definition
@end defivar

@defivar¤ÏÊÑ¿ôº÷°ú¤Ë¹àÌܤòºîÀ®¤·¤Þ¤¹¡¥

@deftypeivar class data-type name

@deftypeivar¥³¥Þ¥ó¥É¤Ï¡¤¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¥×¥í¥°¥é¥ß¥ó¥°¤Î·¿¤òÉÕ¤± ¤é¤ì¤¿¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô¤ËÂФ¹¤ëÄêµÁ¥³¥Þ¥ó¥É¤Ç¤¹¡¥¤½¤ì¤Ï¡¤@defivar ¤Ë¡¤¥¤¥ó¥¹¥¿¥ó¥¹ÊÑ¿ô¤Î·¿¤ò»ØÄꤹ¤ë¤¿¤á¤Îdata-type¥Ñ¥é¥á¡¼¥¿¤¬ÉÕ¤¤ ¤¿¤â¤Î¤Ë»÷¤Æ¤¤¤Þ¤¹¡¥@deftypeivar¤ÏÊÑ¿ôº÷°ú¤Ë¹àÌܤòºîÀ®¤·¤Þ¤¹¡¥

@defop category class name arguments

@defop¥³¥Þ¥ó¥É¤Ï¡¤¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¥×¥í¥°¥é¥ß¥ó¥°¤Î¥á¥½¥Ã¥É¤Ë»÷¤¿ ¹½À®Í×ÁǤËÂФ¹¤ëÄêµÁ¥³¥Þ¥ó¥É¤Ç¤¹¡¥¤³¤ì¤é¤Î¹½À®Í×ÁǤϴؿô¤Î¤è¤¦¤Ë°ú¿ô¤ò¼è ¤ê¤Þ¤¹¤¬¡¤¥ª¥Ö¥¸¥§¥¯¥È¤ÎÆÃÄê¤Î¥¯¥é¥¹¤Ë´ØÏ¢ÉÕ¤±¤µ¤ì¤Æ¤¤¤Þ¤¹¡¥

Î㤨¤Ð¡¤¥á¥½¥Ã¥É¤È¤·¤Æ¥¯¥é¥¹¤Ë´ØÏ¢ÉÕ¤±¤µ¤ì¤Æ¤¤¤ë¥é¥Ã¥Ñ¡¼(wrappers) ¤È¸Æ¤Ð¤ì¤ë³µÇ°¤ò»ý¤Ä¥·¥¹¥Æ¥à¤â¤¢¤ê¤Þ¤¹¤¬¡¤¤½¤ì¤Ï´Ø¿ô¤È¤¤¤¦¤è¤ê¥Þ¥¯¥í¤Î¤è ¤¦¤Ëưºî¤·¤Þ¤¹¡¥@defop Wrapper¤ò¤³¤ì¤é¤Î°ì¤Ä¤È¤·¤Æ¤Îµ­½Ò¤Ë»ÈÍѤ¹ ¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡¥

¥á¥½¥Ã¥É¤È¥ª¥Ú¥ì¡¼¥·¥ç¥ó(operations)¤òʬ¤±¤¿Êý¤¬ÊØÍø¤Ê¤È¤­¤â¤¢¤ê¤Þ ¤¹¡¥¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤ò¥á¥½¥Ã¥É¤Î¾Ü½Ò¤È¹Í¤¨¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡¥¤³¤Î¤¿¤á¡¤¥¦¥£ ¥ó¥É¥¦¥·¥¹¥Æ¥à¤ÏÁ´¤Æ¤Î¥¦¥£¥ó¥É¥¦¥¯¥é¥¹¤¬expose¤È¸À¤¦Ì¾Á°¤Î¥á¥½¥Ã ¥É¤ò»ý¤Ä¤³¤È¤ò»ØÄê¤Ç¤­¤Þ¤¹¡¥²æ¡¹¤Ï¡¤¤³¤Î¥¦¥£¥ó¥É¥¦¥·¥¹¥Æ¥à¤¬°ìÈÌŪ¤Ê¥¦¥£ ¥ó¥É¥¦¾å¤Ëexpose¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤òÄêµÁ¤·¤Æ¤¤¤ë¤È¸À¤Ã¤Æ¤¤¤ë¤Î¤Ç¤¹¡¥ ÆÃ¤Ë¡¤¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤Ï̾Á°¤ò»ý¤Á¡¤°ú¿ô¤Î¥Ñ¥¿¡¼¥ó¤â»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡¥Á´¤Æ ¤Î¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤ò¼ÂÁõ¤·¤¿¥á¥½¥Ã¥É¤Ï¡¤¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤Ç»ÈÍѤµ¤ì¤ë¥¢¥×¥ê¥±¡¼ ¥·¥ç¥ó¤¬¼ÂÁõ¤·¤¿¥á¥½¥Ã¥É¤òÃΤ뤳¤È¤Ê¤¯¤½¤ì¤ò¹Ô¤¦¤Î¤Ç¡¥Æ±¤¸°ú¿ô¤ò¼õ¤±Æþ¤ì ¤ë¤è¤¦¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡¥

¥á¥½¥Ã¥É¤è¤ê¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤òÀâÌÀ¤·¤¿Êý¤¬¤è¤ê°ÕÌ£¤¬¤¢¤ë¤³¤È¤â¤è¤¯¤¢¤ê¤Þ¤¹¡¥ Î㤨¤Ð¡¤¥¦¥£¥ó¥É¥¦¥¢¥×¥ê¥±¡¼¥·¥ç¥ó³«È¯¼Ô¤Ï¡¤expose¥ª¥Ú¥ì¡¼¥·¥ç¥ó ¤òÃΤäƤ¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¤¬¡¤Í¿¤¨¤é¤ì¤¿¥¦¥£¥ó¥É¥¦¤Î¥¯¥é¥¹¤¬¡¤¤³¤Î¥ª¥Ú¥ì¡¼ ¥·¥ç¥ó¤ò¼ÂÁõ¤·¤¿ÆÈ¼«¤Î¥á¥½¥Ã¥É¤ò»ý¤Ä¤«¤É¤¦¤«¤ò¹Íθ¤¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡¥ ¤³¤Î¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤òµ­½Ò¤¹¤ë¤¿¤á°Ê²¼¤Î¤è¤¦¤Ë½ñ¤­¤Þ¤¹¡¥

@defop Operation windows expose

@defop¥³¥Þ¥ó¥É¤Ï¡¤¹Ô¤ÎºÇ½é¤Ë½ñ¤«¤ì¡¤Æ±¤¸¹Ô¤Ë¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤Î¥«¥Æ ¥´¥ê¤ÎÁ´ÂÎŪ¤Ê̾Á°¡¤¥ª¥Ú¥ì¡¼¥·¥ç¥ó¥¯¥é¥¹¤Î̾Á°¡¤¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤Î̾Á°¡¤¤½ ¤·¤Æ¡¤Â¸ºß¤¹¤ë¾ì¹ç¤½¤Î°ú¿ô¤ò³¤±¤Þ¤¹¡¥

¥Æ¥ó¥×¥ì¡¼¥È¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡¥

@defop category class name argumentsbody-of-definition
@end defop

@defop¤Ï‘expose on windows’¤Î¤è¤¦¤Ê¹àÌܤò¡¤´Ø¿ôº÷ °ú¤ËºîÀ®¤·¤Þ¤¹¡¥

@deftypeop category class data-type name arguments

@deftypeop¥³¥Þ¥ó¥É¤Ï¡¤¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¥×¥í¥°¥é¥ß¥ó¥°¤Î·¿ÉդΥª¥Ú ¥ì¡¼¥·¥ç¥ó¤ËÂФ¹¤ëÄêµÁ¥³¥Þ¥ó¥É¤Ç¤¹¡¥¤½¤ì¤Ï@defop¤Ë¡¤¥á¥½¥Ã¥É¤ÎÌá ¤êÃͤò»ØÄꤹ¤ëdata-type¥Ñ¥é¥á¡¼¥¿¤ò²Ã¤¨¤¿¤â¤Î¤Ë»÷¤Æ¤¤¤Þ¤¹¡¥ @deftypeop¤Ï´Ø¿ôº÷°ú¤Ë¹àÌܤòºîÀ®¤·¤Þ¤¹¡¥

@defmethod class name arguments

@defmethod¥³¥Þ¥ó¥É¤Ï¡¤¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¥×¥í¥°¥é¥ß¥ó¥°¤Î¥á¥½¥Ã¥É¤Ë ÂФ¹¤ëÄêµÁ¥³¥Þ¥ó¥É¤Ç¤¹¡¥¥á¥½¥Ã¥É¤ÏÆÃÄê¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¯¥é¥¹¤È¤½¤Î¥µ¥Ö¥¯ ¥é¥¹¤Î¤¿¤á¤Î¥ª¥Ú¥ì¡¼¥·¥ç¥ó¤ò¼ÂÁõ¤¹¤ë´Ø¿ô¤Î¤è¤¦¤Ê¤â¤Î¤Ç¤¹¡¥

@defmethod¤Ï‘@defop Method …’¤ÈƱ¤¸¤Ç¤¹¡¥¥³¥Þ¥ó¥É¤Ï ¹Ô¤ÎºÇ½é¤Ë½ñ¤«¤ì¡¤¥á¥½¥Ã¥É¤Î¥¯¥é¥¹Ì¾¡¤¥á¥½¥Ã¥É̾¡¤¤½¤·¤ÆÂ¸ºß¤¹¤ë¾ì¹ç¤Ï¤½ ¤Î°ú¿ô¤¬Â³¤­¤Þ¤¹¡¥

Î㤨¤Ð¡¤°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡¥

@defmethod bar-class bar-method argument
…
@end defmethod

¤³¤ì¤Ï¡¤¥¯¥é¥¹bar-class¤Îbar-method¤È¸Æ¤Ð¤ì¤ë¥á¥½¥Ã¥É¤ËÂÐ ¤¹¤ëÄêµÁ¤òÀâÌÀ¤·¤Æ¤¤¤Þ¤¹¡¥¥á¥½¥Ã¥É¤Ï°ú¿ô¤ò¼è¤ê¤Þ¤¹¡¥

¥Æ¥ó¥×¥ì¡¼¥È¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡¥

@defmethod class method-name argumentsbody-of-definition
@end defmethod

@defmethod¤Ï¡¤´Ø¿ôº÷°ú¤Ë‘bar-method on bar-class’ ¤Î¤è¤¦¤Ê¹àÌܤòºîÀ®¤·¤Þ¤¹¡¥

@deftypemethod class data-type name arguments

@deftypemethod¥³¥Þ¥ó¥É¤Ï¡¤C++¤äJava¤Î¤è¤¦¤Ê¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¤Î·¿ ¤Î¤¢¤ë¸À¸ì¤Î¥á¥½¥Ã¥É¤Î¤ËÂФ¹¤ëÄêµÁ¥³¥Þ¥ó¥É¤Ç¤¹¡¥¤½¤ì¤Ï¡¤ @defmethod¥³¥Þ¥ó¥É¤Ë¥á¥½¥Ã¥É¤ÎÌá¤êÃͤò»ØÄꤹ¤ë¤¿¤á¤Î data-type¥Ñ¥é¥á¡¼¥¿¤òÄɲä·¤¿¤â¤Î¤Ë»÷¤Æ¤¤¤Þ¤¹¡¥