Next: , Previous: Time Conversion, Up: System Interface   [Contents][Index]


37.7 ÃÙ±ä¼Â¹Ô¤Î¤¿¤á¤Î¥¿¥¤¥Þ

̤Íè¤Î¤¢¤ë»þ¹ï¤Ë´Ø¿ô¤ò¸Æ¤Ó½Ð¤·¤¿¤ê¡¢ ¤¢¤ë°ìÄê´ü´Ö¤Ê¤Ë¤â¤·¤Ê¤¤¤Ç¤¤¤¿¤é´Ø¿ô¤ò¸Æ¤Ó½Ð¤¹¤¿¤á¤Ë ¥¿¥¤¥Þ¤òÀßÄê¤Ç¤­¤Þ¤¹¡£

Emacs¤Ï¡¢Lisp¥×¥í¥°¥é¥à¤ÎǤ°Õ¤Î²Õ½ê¤Ç¤Ï¥¿¥¤¥Þ¤ò¼Â¹Ô¤Ç¤­¤Þ¤»¤ó¡£ ¥µ¥Ö¥×¥í¥»¥¹¤«¤é¤Î½ÐÎϤò¼õ¤±¼è¤ë¤È¤­¤Ë¤À¤±¥¿¥¤¥Þ¤ò¼Â¹Ô¤Ç¤­¤Þ¤¹¡£ ¤Ä¤Þ¤ê¡¢ÂԤĤ³¤È¤¬²Äǽ¤Êsit-for¤äread-event¤Ê¤É¤Î ´ðËÜ´Ø¿ô¤ÎÆâ¦¤ä¡ÊÆþÎϤò¡ËÂԤäƤ¤¤ë¤¢¤¤¤À¤Ë¼Â¹Ô¤Ç¤­¤Þ¤¹¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢Emacs¤¬Ë»¤·¤¤¤È¥¿¥¤¥Þ¤Î¼Â¹Ô¤¬ÃÙ¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ ¤·¤«¤·¡¢Emacs¤¬²Ë¤Ê¤é¤Ð¡¢¥¿¥¤¥Þ¤Î¼Â¹Ô¤Ï¤È¤Æ¤âÀµ³Î¤Ç¤¹¡£

Function: run-at-time time repeat function &rest args

¤³¤Î´Ø¿ô¤Ï¡¢»þ¹ïtime¤Ë°ú¿ôargs¤Ç ´Ø¿ôfunction¤ò¸Æ¤Ó½Ð¤¹¤è¤¦¤ËͽÌ󤹤롣 °ú¿ôfunction¤Ï¤Î¤Á¤Ë¸Æ¤Ó½Ð¤µ¤ì¤ë´Ø¿ô¤Ç¤¢¤ê¡¢ °ú¿ôargs¤Ï¤½¤ì¤ò¸Æ¤Ó½Ð¤¹¤È¤­¤ËÍ¿¤¨¤ë°ú¿ô¤Ç¤¢¤ë¡£ »þ¹ïtime¤Ïʸ»úÎó¤Ç»ØÄꤹ¤ë¡£

ÀäÂлþ¹ï¤ò¤µ¤Þ¤¶¤Þ¤Ê½ñ¼°¤Ç»ØÄê¤Ç¤­¤ë¡£ ¤³¤Î´Ø¿ô¤Ï¡¢¤è¤¯»È¤ï¤ì¤ëÆü»þ¤Î½ñ¼°¤ò¼õ¤±ÉÕ¤±¤ë¤è¤¦¤ËÅØ¤á¤ë¡£ Àµ¤·¤¤½ñ¼°¤Ë¤Ï¤Ä¤®¤Î2¤Ä¤ò´Þ¤à¡£

year-month-day hour:min:sec timezone

hour:min:sec timezone month/day/year

¤³¤³¤Ç¡¢¤É¤Á¤é¤ÎÎã¤Î¥Õ¥£¡¼¥ë¥É¤â¤¹¤Ù¤Æ¿ô¤Ç¤¢¤ë¡£ current-time-string¤¬ÊÖ¤¹½ñ¼°¡¢¤ª¤è¤Ó¡¢ ¾¤Î½ñ¼°¤âµö¤µ¤ì¤ë¡£

ÁêÂлþ¹ï¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢Ã±°Ì¤òȼ¤Ã¤¿¿ô»ú¤ò»È¤¦¡£ ¤¿¤È¤¨¤Ð¤Ä¤®¤Î¤È¤ª¤ê¡£

1 min

º£¤«¤é1ʬ¸å¡£

1 min 5 sec

º£¤«¤é65Éø塣

1 min 2 sec 3 hour 4 day 5 week 6 fortnight 7 month 8 year

º£¤«¤é¤Á¤ç¤¦¤É103¥õ·î¡¢123Æü¡¢10862Éø塣 12

time¤¬¿ô¡ÊÀ°¿ô¤«ÉâÆ°¾®¿ôÅÀ¿ô¡Ë¤Ç¤¢¤ì¤Ð¡¢ ÉÃñ°Ì¤ÎÁêÂлþ¹ï¤ò»ØÄꤹ¤ë¡£

°ú¿ôrepeat¤Ï¡¢¸Æ¤Ó½Ð¤·¤ò¤É¤ÎÄøÅÙÉÑÈˤ˷«¤êÊÖ¤¹¤«¤ò»ØÄꤹ¤ë¡£ repeat¤¬nil¤Ç¤¢¤ë¤È¡¢·«¤êÊÖ¤µ¤º¤Ë »þ¹ïtime¤Ë´Ø¿ôfunction¤ò°ìÅÙ¤À¤±¸Æ¤Ó½Ð¤¹¡£ repeat¤¬¿ô¤Ç¤¢¤ë¤È¡¢·«¤êÊÖ¤·´Ö³Ö¤òÉÃñ°Ì¤Ç»ØÄꤹ¤ë¡£

¤Û¤È¤ó¤É¤Î¾ì¹ç¡¢ºÇ½é¤Î¸Æ¤Ó½Ð¤·¤Ç¤Ïrepeat¤Î¸ú²Ì¤Ï¤Ê¤¯¡¢ time¤À¤±¤¬»þ¹ï¤ò»ØÄꤹ¤ë¡£ 1¤ÄÎã³°¤¬¤¢¤ê¡¢time¤¬t¤Ç¤¢¤ë¤È¡¢ »þ¹ï¤¬repeat¤ÎÀ°¿ôÇܤǤ¢¤ë¤È¥¿¥¤¥Þ¤ò¼Â¹Ô¤¹¤ë¡£ ¤³¤ì¤Ïdisplay-time¤Î¤è¤¦¤Ê´Ø¿ô¤ËÍ­ÍѤǤ¢¤ë¡£

´Ø¿ôrun-at-time¤Ï¡¢Í½Ìó¤·¤¿Ì¤Íè¤ÎÆÃÄê¤Îưºî¤ò ¼±Ê̤¹¤ë¥¿¥¤¥Þ¤òÊÖ¤¹¡£ ¤³¤ÎÃͤϡ¢cancel-timer¡Ê²¼µ­»²¾È¡Ë¤Î¸Æ¤Ó½Ð¤·¤Ë»È¤¨¤ë¡£

Macro: with-timeout (seconds timeout-forms…) body…

body¤ò¼Â¹Ô¤¹¤ë¤¬¡¢secondsÉäǤ½¤Î¼Â¹Ô¤òÄü¤á¤ë¡£ »þ´Ö¤¬ÀÚ¤ì¤ë¤Þ¤¨¤Ëbody¤¬½ªÎ»¤¹¤ë¤È with-timeout¤Ïbody¤ÎºÇ¸å¤Î¥Õ¥©¡¼¥à¤ÎÃͤòÊÖ¤¹¡£ ¤·¤«¤·¡¢»þ´Ö¤¬ÀÚ¤ì¤ë¤Èbody¤Î¼Â¹Ô¤ò¼è¤ê»ß¤á¡¢ with-timeout¤Ïtimeout-forms¤ò¤¹¤Ù¤Æ¼Â¹Ô¤·¡¢ ¤½¤ì¤é¤ÎºÇ¸å¤ÎÃͤòÊÖ¤¹¡£

¤³¤Î¥Þ¥¯¥í¤Ï¡¢secondsÉøå¤Ëưºî¤¹¤ë¥¿¥¤¥Þ¤òÀßÄꤹ¤ë¤³¤È¤Çưºî¤¹¤ë¡£ ¤½¤Î»þ´ÖÆâ¤Ëbody¤¬½ªÎ»¤¹¤ì¤Ð¡¢¥¿¥¤¥Þ¤ò¼è¤ê¾Ã¤¹¡£ ¥¿¥¤¥Þ¤¬¼ÂºÝ¤Ëưºî¤¹¤ë¤Èbody¤Î¼Â¹Ô¤ò½ªÎ»¤µ¤»¤Æ¤«¤é¡¢ timeout-forms¤ò¼Â¹Ô¤¹¤ë¡£

¥×¥í¥°¥é¥à¤«¤éÂԤĤ³¤È¤¬²Äǽ¤Ê´ðËÜ´Ø¿ô¤ò¸Æ¤Ó½Ð¤·¤¿¤È¤­¤Ë¤Î¤ß¡¢ ¥¿¥¤¥Þ¤ÏLisp¥×¥í¥°¥é¥àÆâ¤Ç¼Â¹Ô²Äǽ¤Ê¤¿¤á¡¢ with-timeout¤Ïbody¤Î·×»»ÅÓÃæ¤Ç¤Ï body¤Î¼Â¹Ô¤òÄä»ß¤Ç¤­¤Ê¤¤¡£ ¤½¤ì¤é¤¬ÂԤĤ³¤È¤¬²Äǽ¤Ê´ðËÜ´Ø¿ô¤Î1¤Ä¤ò¸Æ¤Ó½Ð¤·¤¿¤È¤­¤Ë¤Î¤ßÄä»ß¤Ç¤­¤ë¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢Ä¹¤¤·×»»¤ò¹Ô¤ï¤Ê¤¤ÆþÎϤòÂԤĤ褦¤Êbody¤Ë with-timeout¤ò»È¤¦¡£

´Ø¿ôy-or-n-p-with-timeout¤Ï¡¢ ±þÅú¤òŤ¯ÂÔ¤Á¤¹¤®¤Ê¤¤¤è¤¦¤Ë¥¿¥¤¥Þ¤ò»È¤Ã¤¿Ã±½ã¤ÊÎã¤Ç¤¹¡£ See Yes-or-No Queries¡£

Function: run-with-idle-timer secs repeat function &rest args

Emacs¤¬secsÉô֤ʤˤ⤷¤Ê¤¤¤È¤­¤Ë¼Â¹Ô¤¹¤ë¥¿¥¤¥Þ¤òÀßÄꤹ¤ë¡£ secs¤ÎÃͤÏÀ°¿ô¤Ç¤âÉâÆ°¾®¿ôÅÀ¿ô¤Ç¤â¤è¤¤¡£

repeat¤¬nil¤Ç¤¢¤ë¤È¡¢ ¤³¤ì°Ê¹ß¤Ë¤Ï¤¸¤á¤ÆEmacs¤¬½½Ê¬Ä¹¤¤´ü´Ö¤Ê¤Ë¤â¤·¤Ê¤¤¤Ç¤¤¤ë¤È¡¢ ¥¿¥¤¥Þ¤ò°ìÅÙ¤À¤±¼Â¹Ô¤¹¤ë¡£ ¤·¤Ð¤·¤Ðrepeat¤Ïnil°Ê³°¤Ç¤¢¤ê¡¢ Emacs¤¬secsÉäʤˤ⤷¤Ê¤¤¤Ç¤¤¤ë¤¿¤Ó¤Ë ¥¿¥¤¥Þ¤ò¼Â¹Ô¤¹¤ë¤³¤È¤ò°ÕÌ£¤¹¤ë¡£

´Ø¿ôrun-with-idle-timer¤Ï¡¢ cancel-timer¡Ê²¼µ­»²¾È¡Ë¤Î¸Æ¤Ó½Ð¤·¤Ë»È¤¨¤ë¥¿¥¤¥Þ¤ÎÃͤòÊÖ¤¹¡£

Emacs¤¬¥æ¡¼¥¶¡¼ÆþÎϤòÂÔ¤Á»Ï¤á¤ë¤È¡Ø¥¢¥¤¥É¥ë¾õÂ֡٤ˤʤꡢ ¤Ê¤Ë¤«ÆþÎϤ¬¤¯¤ë¤Þ¤Ç¥¢¥¤¥É¥ë¾õÂ֤ΤޤޤǤ¹¡£ 5Éô֤Υ¢¥¤¥É¥ë¾õÂÖ¤ÇÆ°ºî¤¹¤ë¥¿¥¤¥Þ¤¬¤¢¤Ã¤¿¤È¤¹¤ë¤È¡¢ Emacs¤¬¥¢¥¤¥É¥ë¤Ë¤Ê¤Ã¤Æ¤«¤éÌó5Éøå¤Ë¤½¤Î¥¿¥¤¥Þ¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ ¤·¤«¤·repeat¤¬¿¿¡Ênil°Ê³°¡Ë¤Ç¤¢¤Ã¤¿¤È¤·¤Æ¤â¡¢ ¤½¤Î¥¿¥¤¥Þ¤ÏEmacs¤¬¥¢¥¤¥É¥ë¾õÂ֤Ǥ¢¤ê³¤±¤ë¸Â¤ê¤ÏºÆ¼Â¹Ô¤µ¤ì¤Þ¤»¤ó¡£ ¥¢¥¤¥É¥ë¾õÂ֤δü´Ö¤ÏñĴ¤ËÁý²Ã¤¹¤ë¤Î¤Ç¡¢ºÆÅÙ5Éøå¤Ë¤ÏÌá¤ê¤Þ¤»¤ó¡£

Emacs¤¬¥¢¥¤¥É¥ë¾õÂ֤ΤȤ­¤Ë¤Ï¤µ¤Þ¤¶¤Þ¤Ê¤³¤È¤ò¹Ô¤¤¤Þ¤¹¡£ ¥¬¥Ù¥Ã¥¸¥³¥ì¥¯¥·¥ç¥ó¡¢¼«Æ°Êݸ¡¢¥µ¥Ö¥×¥í¥»¥¹¤«¤é¤Î¥Ç¡¼¥¿¤Î½èÍý¤Ç¤¹¡£ ¤·¤«¤·¡¢¥¢¥¤¥É¥ë¾õÂÖÃæ¤Î¤³¤ì¤é¤Îưºî¤Ï¥¢¥¤¥É¥ë¥¿¥¤¥Þ¤Ë´³¾Ä¤·¤Þ¤»¤ó¡£ ¥¢¥¤¥É¥ë¾õÂ֤λþ´Ö¤ò0¤Ë¤·¤Ê¤¤¤«¤é¤Ç¤¹¡£ 600ÉäËÀßÄꤵ¤ì¤¿¥¢¥¤¥É¥ë¥¿¥¤¥Þ¤Ï¡¢ ºÇ¸å¤Î¥æ¡¼¥¶¡¼¥³¥Þ¥ó¥É¤ò½ªÎ»¤·¤Æ¤«¤é10ʬ¸å¤Ë¼Â¹Ô¤µ¤ì¤Þ¤¹¡£ ¤¿¤È¤¨¤½¤Î10ʬ´Ö¤Ë¡¢¥µ¥Ö¥×¥í¥»¥¹¤Î½ÐÎϤò²¿Àé²ó¤â¼õ¤±¼è¤í¤¦¤¬¡¢ ¥¬¥Ù¥Ã¥¸¥³¥ì¥¯¥·¥ç¥ó¤ä¼«Æ°Êݸ¤ò¹Ô¤Ã¤¿¤È¤·¤Æ¤â¤Ç¤¹¡£

¥æ¡¼¥¶¡¼¤¬ÆþÎϤòÍ¿¤¨¤ë¤È¡¢¤½¤ÎÆþÎϤò¼Â¹ÔÃæ¤ÏEmacs¤ÏÈó¥¢¥¤¥É¥ë¾õÂ֤Ǥ¹¡£ ¤½¤·¤ÆºÆÅÙ¥¢¥¤¥É¥ë¾õÂ֤ˤʤꡢ ·«¤êÊÖ¤¹¤è¤¦¤ËÀßÄꤵ¤ì¤¿¥¢¥¤¥É¥ë¥¿¥¤¥Þ¤ò1¤Ä¤º¤Ä¤½¤ì°Ê¹ß¤Ë¼Â¹Ô¤·¤Þ¤¹¡£

Function: cancel-timer timer

¥¿¥¤¥Þtimer¤ÎͽÌó¤ò¼è¤ê¾Ã¤¹¡£ timer¤Ï¡¢°ÊÁ°¤Ërun-at-time¤ä run-with-idle-timer¤¬ÊÖ¤·¤¿ÃͤǤ¢¤ë¤³¤È¡£ ¤³¤ì¤Ï¡¢run-at-time¤Î¸Æ¤Ó½Ð¤·¤Î¸ú²Ì¤ò¼è¤ê¾Ã¤·¡¢ ¤½¤Î»þ¹ï¤Ë¤Ê¤Ã¤Æ¤â¤Ê¤Ë¤âÆÃÊ̤ʤ³¤È¤Ïµ¯¤³¤é¤Ê¤¤¡£


Footnotes

(12)

¡ÚÌõÃí¡Ûfortnight¤Ï2½µ´Ö¤Î¤³¤È¡£