--shebang¥ª¥×¥·¥ç¥ó¤¬Íø¤¤¤Æ¤Ê¤¤·ï
¡Öº£·î¡×¤È¡ÖÆüÍËÆü¡×¤ò°ìÈ̲½¤¹¤ë¤È¤³¤¦¤«¤Ê¡£
require 'date'
class Date
def count_wdays(w)
last = (self.class.new(year, month) >> 1) - 1
(last.day + (w - last.wday - 1) % 7) / 7
end
end
ºÇ½ªÆü°Ê¹ß¤Ë¤¯¤ëµá¤á¤¿¤¤ÍËÆü¤ÎÆüÉÕ¤ò7¤Ç³ä¤ë¡£
¤¸¤ã¤Ê¤¯¤Æ¡¢self¤Î·î¤ÎºÇ¸å¤ÎÆü¤Ç¤¹¡£
(w - last.wday - 1) % 7¤Ïlast¤«¤é¼¡¤ÎwÍËÆüÁ°¤Þ¤Ç¤ÎÆü¿ô¡£
¤½¤ì¤òlast.day¤Ë¤¹¤È¡¢Íâ·î¤ÎºÇ½é¤ÎwÍËÆü¤ÎÁ°Æü¤¬¤ï¤«¤ë¡£
¤³¤ì¤Ïself¤Î·î¤Î°ìÆü¤«¤é¿ô¤¨¤¿Æü¿ô¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢7¤Ç³ä¤ì¤Ð½µ¿ô¤¬µá¤á¤é¤ì¤ë¡£
¤Ã¤Æº£¸«¤¿¤éDate.new(today.year, today.month, -1)¤Ê¤ó¤Æ¤Î¤¬¡£
-1¤ÇºÇ½ªÆü¤Ê¤ó¤Æ¤¹¤Ã¤«¤ê˺¤ì¤Æ¤¿¡£
¤½¤ÎÎã¤Çnil¤ò¼ÂºÝ¤ËÊÖ¤·¤Æ¤ë¤Î¤Ï¥á¥½¥Ã¥ÉÄêµÁ¤Î¤Û¤¦¡£
$ ruby -e 'p class Foo;1;end' 1
FAQ¤Ã¤Ý¤¤¤±¤Écaller¤Ç¡£
def current_method caller.first[/:in \`(.*?)\'\z/, 1] end
¥¯¥é¥¹¤´¤È¤Ënamespace¤¯¤Ã¤Ä¤±¤¿ID¤òºî¤Ã¤ÆÃµ¤¹¡¢¤Ã¤Æ¤Î¤ÏÃÙ¤½¤¦¤À¤Ê¤¡¡£
¤Ä¡¼¤«¡¢º£½µËö¤Ï±öÀî¹Ô¤³¤¦¤È»×¤Ã¤Æ¤¿¤ó¤Ç»þ´Ö¤¬¤Ê¤¤¡£
¡ÖºÇ½ªÆü°Ê¹ß¤Ë¤¯¤ëµá¤á¤¿¤¤ÍËÆü¤ÎÆüÉÕ¤ò7¤Ç³ä¤ë¡£¡×¤¬º£¤Î¤È¤³¤íºÇÎɤβò¤À¤È»×¤ï¤ì¤Þ¤¹¤Í¡£¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹
proof of concept¤È¤·¤Æ¤Ï¤¤¤¤¤ó¤¸¤ã¤Ê¤¤¤Ç¤¹¤«¤Í