Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
Rubyã«ããã¦ã·ã¼ã±ã³ã¹ãã¤ã¾ãæå³çã«é£ç¶ããè¦ç´ ã®ä¸¦ã³ãç°¡åã«çæããObject#repeatã¨ãããã®ãèãã¾ãããï¼ä»¥åã«èããEnumerable#repeatãåã«ãã¹ã¦ã®ãªãã¸ã§ã¯ãã«æ¡å¼µãããã®ã§ããã©ã class Object def repeat(init=true, &blk) x = self Enumerator.new do |y| y << x if init loop { y << (x = yield x) } end end end repeatã¯ããã®ã¬ã·ã¼ããªãã¸ã§ã¯ããåæå¤ã¨ãã¦ã渡ããããããã¯ãç¹°ãè¿ãé©ç¨ãã¾ããé©ç¨ã®çµæã¯Enumeratorãªãã¸ã§ã¯ãã§ã©ããããã¦ããã®ã§ãé å»¶è©ä¾¡ããã¾ãã 以ä¸ã«ãåé¡ã«çããå½¢ã§ä½¿ãæ¹ãè¦ãã¾ãããæ¯è¼ã®ããrepeatã使ããªãæ¹æ³ãé©å®ç¤ºãã¾ãã 1. åé 1ãå ¬å·®2ã®çå·®æ°åã®æåã®2
ããã°ã©ãã³ã°ã®åå¨ä¾¡å¤ã¯å¦çã®èªååã§ããä»»æã®éåã«å¯¾ãã¦å¦çãç¹°ãè¿ããã®çµæãè¿ãããããããã°ã©ã ã§ããã¤ã¾ãéåã«å¯¾ãã¦å¦çãç¹°ãè¿ãè½åããããã°ã©ã ã®ä¾¡å¤ã決å®ä»ããã®ã§ã1ã ãæç¶ãåè¨èªãã§ã¯ã«ã¼ããå¦çã®ç¹°ãè¿ããå®ç¾ããããã®éè¦ãªææ³ã®ä¸ã¤ã§ãããããã«ã¼ãã¯ã䏿夿°ãç¨æãã¦ããã°ã©ããã«ã¼ãã®é²è¡ã管çããªããã°ãªããªããã¨ããæ¬ ç¹ãããã¾ããããã¦ãã®ç®¡çãã¹ããã°ã¨ãªãã¾ãã ã颿°åè¨èªãã§ã¯å帰ãå¦çã®ç¹°ãè¿ããå®ç¾ããããã®éè¦ãªææ³ã®ä¸ã¤ã§ããå帰ã§ã¯å帰ã®é²è¡ã¯ãã®æ§é ã«åºã¥ãã¦èªåçã«ãªãããã®ã§ãããã°ã©ããããã管çããå¿ è¦ã¯ããã¾ãããããããã®ä¸æ¹ã§ãå¦çã夿®µéã«æ¸¡ãç«ä½çãªãã®ã¨ãªãã®ã§ããã®åä½ã®çè§£ãå¹³é¢çãªã«ã¼ãå¦çã«æ¯ã¹ã¦é£ããã¨ããæ¬ ç¹ãããã¾ããç¿å¾ã«ã¯æ £ããå¿ è¦ã§ãã Rubyã¯ãæç¶ãåè¨èªã¨é¢æ°åè¨èªã®ä¸¡æ¹ã®å´
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}