ããã°ã©ãã³ã°ã«ãããŠãèªå·±æ¹å€ãšã¯ãèšèšãã³ãŒããããã»ã¹ãããã³åäœã«ãããéçç£çãªæ±ºå®ãèªèããèœåã§ãã æ害ãªæ±ºå®ãã³ãã¬ãŒãã«ã€ããŠç¥ãããšã¯ãããã°ã©ããŒã«ãšã£ãŠæçã§ãã ãã®èšäºã§ã¯ãç§ã®å人çãªçµéšã§ãšãã©ãçµéšããã¢ã³ããã¿ãŒã³ã«ã€ããŠèª¬æããŸãã
ãããã®ããã€ãã¯
ã人éã®æèã®
èªç¥çæªã¿ã«çŽæ¥ãŸãã¯éæ¥çã«é¢é£ããŠããŸã-ãããã®å Žåã察å¿ããwikièšäºãžã®ãªã³ã¯ãæäŸããŸãã èå³æ·±ãã®ã¯ãæ¢ç¥ã®èªç¥ãã€ã¢ã¹ã®ãªã¹ãã§ãã
1ææå°æ©ã®æé©å
97ïŒ
ã®ã±ãŒã¹ã§ã¯ãããã°ã©ã ã®å°ããªéšåã®æå¹æ§ãå¿ããªããã°ãªããŸãããæ©ãããæé©åã¯ãã¹ãŠã®æªã®æ ¹æºã§ãã ãã ãã3ïŒ
ã®ã±ãŒã¹ã§ã¯ãæé©åãå¿ããŠã¯ãªããŸããã
ããã«ããã€ãã
å€ãã®å Žåãä»ãããè¯ããªãããšã¯ãããŸããã
Pythonã®çŠ
ããã£ã ããŒã¿ãŒãº
ããã¯äœã§ãã
æé©åãã©ãã§ã©ã®ããã«å®æœãããã«ã€ããŠãååãªæ
å ±ã«åºã¥ãã決å®ãäžãããã«å¿
èŠãªãã¹ãŠã®æ
å ±ãå
¥æããåã«å®è¡ãããŸãã
ãªãæªã
å®éã«ã¯ãããã«ããã¯ãçºçããå Žæãäºæž¬ããããšã¯å°é£ã§ãã çµéšçãªçµæãåŸãããã«æé©åããããšãããšãããè€éãªã³ãŒããšãšã©ãŒãçºçããŸãããã¡ãªããã¯ãããŸããã
é¿ããæ¹æ³
ãŸããããç¥ãããå®çžŸã®ããã¢ã«ãŽãªãºã ãšããŒã«ã䜿çšããŠãã¯ãªãŒã³ã§èªã¿ããããå®çšçãªã³ãŒããèšè¿°ããŸãã å¿
èŠã«å¿ããŠããããã¡ã€ãªã³ã°ããŒã«ã䜿çšããŠããã«ããã¯ãèŠã€ããŸãã æšæž¬ãæšæž¬ã§ã¯ãªãã枬å®å€ã«äŸåããŸãã
äŸãšãµã€ã³
ãããã¡ã€ãªã³ã°åã®ãã£ãã·ã¥ã æ°åŠçã«æ£ããã¢ã«ãŽãªãºã ã®ä»£ããã«ãè€éã§å®çžŸã®ãªããã¥ãŒãªã¹ãã£ãã¯ã«ãŒã«ã䜿çšããã è² è·ãããã£ãç¶æ
ã§ããŸãåäœããªãããã¹ããããŠããªãæ°ãããã¬ãŒã ã¯ãŒã¯ã®éžæã
é£ããã¯äœã§ãã
æé©åãææå°æ©ã«ãªãææãç¥ãããšã¯å°é£ã§ãã äºåã«æé·ã®äœå°ãæ®ãããšãéèŠã§ãã æé©åãšæé·ã容æã«ãããœãªã¥ãŒã·ã§ã³ãšãã©ãããã©ãŒã ãéžæããå¿
èŠããããŸãã äžè¯ã³ãŒãã®èšãèš³ãšããŠãææå°æ©ãªæé©åã䜿çšããããšãã§ããŸãã ããšãã°ãOïŒn
2 ïŒã¢ã«ãŽãªãºã ã䜿çšããã®ã¯ãåã«OïŒnïŒã¢ã«ãŽãªãºã ãããè€éã ããã§ãã
é·ãããŠèªããªã
æåã®ãããã¡ã€ãªã³ã°ã次ã«æé©åã çµéšçã«åŸãããããŒã¿ãããã䞻匵ãããŸã§ãåçŽããå¹çã«å€ããªãã§ãã ããã
2 Bikeshedding
ïŒ
çŽtranslã-ã¢ã³ã°ããµã¯ãœã³èªã¯åè©ãæãä»ãã®ã奜ãã§ãããã®çšèªã¯ãèªæã®ããŒãã³ãœã³ã®æ³åããšãåŒã°ãããã®ããŒãã³ãœã³ãã人ã
ãããããçš®é¡ã®ãã³ã»ã³ã¹ã§äŒè°ã«æéãè²»ããããšã奜ãããšã«æ°ä»ããåŸã«ç»å ŽããŸããå
·äœçã«ã¯ãåååçºé»æã®èšèšè
ã¯ãèªè»¢è»ã·ã§ã«ã¿ãŒã«ã©ã®ææãå
¥ããã¹ããã«ã€ããŠéåžžã«é·ãéè°è«ããŠããŸããïŒbike-shed ïŒã
å®æçã«äŒè©±ãäžæããŠã掻çå°å·ãšããŒãžã®è²ã«ã€ããŠè©±ãåããŸããã åè°è«ã®åŸãç§ãã¡ã¯æ祚ããŸããã ååã®äŒè°ã§éžãã åãè²ã«æ祚ããã®ãæãå¹æçã ãšæããŸããããç§ã¯åžžã«å°æ°æŽŸã§ããã æåŸã«ãèµ€ãéžæããŸããïŒãã ããæçµçã«ã¯éã«ãªããŸããïŒã
ãªãã£ãŒãã»ãã¡ã€ã³ãã³ãããªãä»ã®äººãããªãã®ããšãèããŠããã®ãããããªãã®ã§ããïŒã

ããã¯äœã§ãã
äºçŽ°ã§äž»èŠ³çãªããšãè°è«ããæéãç¡é§ã«ããåŸåã
ãªãæªãã®
æéã®ç¡é§ã ãã®ããŒãã«é¢ãã
Paul-Khening Campããã®è©³çŽ°ãªæçŽ ã
é¿ããæ¹æ³
ä»ã®ããŒã ã¡ã³ããŒã«ãã®åŸåãæãåºãããŠãã ããããããã®å Žåãäž»ãªããšã¯ææ決å®ãè¿
éã«è¡ãããšã§ãïŒã³ã€ã³ãæãããæ祚ãããªã©ïŒã ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ãªã©ã®å Žåã¯ãããŒã ã§è°è«ããã®ã§ã¯ãªããA / Bãã¹ããåç
§ããŠãã ããã
äŸãšãµã€ã³
èæ¯è²ãã€ã³ã¿ãŒãã§ãŒã¹ã®ãã¿ã³ã®äœçœ®ã«ã€ããŠè°è«ããããã³ãŒãã§ã¹ããŒã¹ã®ä»£ããã«ã¿ãã䜿çšãããããã®ã«äœæéãäœæ¥ãè²»ããããŸãã
é£ããã¯äœã§ãã
Bikesheddingã¯ãææå°æ©ã®æé©åãããèŠã€ãããããäºé²ããããã§ãã 決å®ãäžããã¿ã¹ã¯ã®è€éããšæ¯èŒããã®ã«ãããæéã«æ³šæããŠãã ããã
é·ãããŠèªããªã
åçŽãªè§£æ±ºçã«å€ãã®æéãè²»ãããªãã§ãã ããã
3åæç麻çº
äœããäºæž¬ããããšãã欲æ±ããããåçŽã§å¹æçã§ãããšãã«è¡åããããšãå«ãããæèã®æå¿«ãã®æ¬ åŠ...
ãŠã£ã³ã¹ãã³ã»ãã£ãŒãã«ãè°äŒã§ã®è°è«
ä»ã§ã¯ãªãããè¯ã
Pythonã®çŠ
ããã£ã ããŒã¿ãŒãº
ããã¯äœã§ãã
é²è¡ãšè¡åãåæ¢ããã»ã©ã®éå°ãªåæããããŸãã
ãªãæªã
åæãå€ããããšãé²è¡ãé
ããªã£ããåæ¢ãããããããšããããŸãã æ·±å»ãªå Žåãåæçµæã¯æºåãæŽããŸã§ã«äžèŠã«ãªããããããžã§ã¯ãã§ããåæãã§ãŒãºãçµäºããŸããã æ
å ±ãå€ãã»ã©ãé£ãã決å®ãäžãã®ã«åœ¹ç«ã€ããã§ãã
æçãªæªã¿ãš
蚱容床ã®
é¯èŠãåç
§ããŠãã ããã
é¿ããæ¹æ³
å埩ãšæ¹åã«æ³šæããŠãã ããã åå埩ã¯ãããæå³ã®ããåæã«äœ¿çšã§ãããã£ãŒãããã¯ãšæ
å ±ãæäŸããŸãã ãã®æ
å ±ããªããã°ãåæã¯æšæž¬ã«éããŸããã
äŸãšãµã€ã³
ãããžã§ã¯ããããŒã¿ããŒã¹ã€ã³ã¿ãŒãã§ã€ã¹ããŸãã¯æ§é ã®èŠä»¶ã®åæã«è²»ãããæãšå¹Žã
é£ããã¯äœã§ãã
èšç»ãèŠä»¶ã®åæãèšèšããå®è£
ãšãã¹ãã«ç§»è¡ããææãç解ããããšã¯å°é£ã§ãã
é·ãããŠèªããªã
éå°ã«åæããŠæšæž¬ãã代ããã«ãã€ã³ã¯ãªã¡ã³ã¿ã«éçºã䜿çšããŸãã
ç¥ã®4ã€ã®ã¯ã©ã¹
åçŽãªãã®ã¯è€éãªãã®ãããåªããŠãã
Pythonã®çŠ
ããã£ã ããŒã¿ãŒãº
ããã¯äœã§ãã
ä»ã®å€ãã®ã¯ã©ã¹ãå¶åŸ¡ããã¯ã©ã¹ã«ã¯ãå€ãã®äŸåé¢ä¿ãšå€ãã®è²¬ä»»ããããŸãã
ãªãæªã
ç¥ã®ã¯ã©ã¹ã¯ããµããŒãã®æªå€¢ã«ãªããŸã§æé·ããŸãã ãããã¯1ã€ã®è²¬ä»»ã®ååã«éåããŸãããŠããããã¹ãããããã°ãææžåãè¡ãã®ã¯å°é£ã§ãã
é¿ããæ¹æ³
æ確ã«å®çŸ©ãããåäœãã¹ããããææžåãããåäžã®è²¬ä»»ã§ã責任ãå°ããªã¯ã©ã¹ã«åå²ããŸãã
äŸãšãµã€ã³
ãmanagerãããcontrollerãããdriverãããsystemãããŸãã¯ãengineããšããååã®ã¯ã©ã¹ãæ¢ããŸãã ä»ã®ã¯ã©ã¹ãã€ã³ããŒãããããä»ã®ã¯ã©ã¹ã«äŸåããããä»ã®å€ãã®ã¯ã©ã¹ãå¶åŸ¡ããããã¡ã€ã³ã¢ã¯ãã£ããã£ã«é¢ä¿ã®ãªããã®ãåŠçããå€ãã®ã¡ãœãããæã€ã¯ã©ã¹ãçã£ãŠèŠãŠãã ããã
é£ããã¯äœã§ãã
ãããžã§ã¯ãããªã¯ãšã¹ããããã³ããã°ã©ããŒã®æ°ãå¢ããŠãããå°ããªå°éã¯ã©ã¹ãåŸã
ã«ç¥ã®ã¯ã©ã¹ã«å€ããã€ã€ãããŸãã ãã®ãããªã¯ã©ã¹ã®ãªãã¡ã¯ã¿ãªã³ã°ã¯ããã®åŸå€ãã®æéãããããŸãã
é·ãããŠèªããªã
責任ãšäŸåé¢ä¿ãå€ããã倧èŠæš¡ãªã¯ã©ã¹ãé¿ãã
5ã¯ã©ã¹è¿œå ã®ææ
çã¯å¯ãããåªããŠãã
Pythonã®çŠ
ããã£ã ããŒã¿ãŒãº
ããã¯äœã§ãã
ã¯ã©ã¹ã®æ°ãå¢ãããšèšèšãè€éã«ãªããšãã信念ã¯ãæ°ããã¯ã©ã¹ãè¿œå ãããã倧ããªã¯ã©ã¹ãå°ããªã¯ã©ã¹ã«åå²ãããããããšãæããŸãã
ãªãæªãã®
ã¯ã©ã¹ãè¿œå ãããšãè€éãã軜æžãããŸãã 糞ã®ããã€ãã®å°ããªããŒã«ã解ãã®ã¯ã1ã€ã®å€§ããªããŒã«ããç°¡åã§ãã ä¿å®ãšææžåã容æãªã¯ã©ã¹ã®äžã«ã¯ãå€ãã®äŸåé¢ä¿ãæã€1ã€ã®å€§ããè€éãªã¯ã©ã¹ïŒç¥ã®ã¯ã©ã¹ïŒãããæãŸãããã®ããããŸãã

é¿ããæ¹æ³
ã¯ã©ã¹ãè¿œå ãããšãèšèšãç°¡çŽ åãããã³ãŒãã®äžéšéã®äžèŠãªæ¥ç¶ãåæãããå Žæã«æ³šæããŠãã ããã
äŸãšãµã€ã³
class Shape: def __init__(self, shape_type, *args): self.shape_type = shape_type self.args = args def draw(self): if self.shape_type == "": center = self.args[0] radius = self.args[1] # Draw a circle... elif self.shape_type == "": pos = self.args[0] width = self.args[1] height = self.args[2] # Draw rectangle...
次ã«ã以äžãšæ¯èŒããŸãã
class Shape: def draw(self): raise NotImplemented(" Shape 'draw'.") class Circle(Shape): def __init__(self, center, radius): self.center = center self.radius = radius def draw(self): # ... class Rectangle(Shape): def __init__(self, pos, width, height): self.pos = pos self.width = width self.height = height def draw(self): # ...
ãã®äŸã¯ããªãæçœã§ãããæ¡ä»¶ä»ãããžãã¯ãŸãã¯è€éãªããžãã¯ãæã€å€§èŠæš¡ãªã¯ã©ã¹ã¯éåžžãããåçŽãªã¯ã©ã¹ã«å解ãã䟡å€ãããããšã瀺ããŠããŸãã æçµã³ãŒãã«ã¯ããã«å€ãã®ã¯ã©ã¹ããããŸãããããç°¡åã«ãªããŸãã
é£ããã¯äœã§ãã
ã¯ã©ã¹ã®è¿œå ã¯äžèœè¬ã§ã¯ãããŸããã 倧èŠæš¡ãªã¯ã©ã¹ãåå²ããŠèšèšãç°¡çŽ åããã«ã¯ã責任ãšèŠä»¶ã®é åãæ·±ãåæããå¿
èŠããããŸãã
é·ãããŠèªããªã
ã¯ã©ã¹ã®æ°ãå€ããšããããšã¯ããã¶ã€ã³ãæªããšããå
åã§ã¯ãããŸãã
6å
éšãã©ãããã©ãŒã ã®å¹æ
Unixãç解ããŠããªã人ã¯ããã®æªãã³ããŒãåçºæããéåœã«ãããŸã
ãã³ãªãŒã»ã¹ãã³ãµãŒ
ããªãè€éãªCãŸãã¯Fortranããã°ã©ã ã«ã¯ãCommon Lispèšèªã®ååã®ãæ°ããèšè¿°ããããäžç¹å®ã®ããã°ããããé
ãå®è£
ãå«ãŸããŠããŸãã
ã°ãªãŒã³ã¹ãã³ã®ç¬¬10èŠå
ããã¯äœã§ãã
è€éãªãœãããŠã§ã¢ã·ã¹ãã ãåäœãããã©ãããã©ãŒã ã®æ©èœãŸãã¯ããããèšè¿°ãããŠããèšèªãåçºæããåŸåã
ãªãæªãã®
ãã©ãããã©ãŒã ã¬ãã«ã®ã¿ã¹ã¯-ã¿ã¹ã¯ãã©ã³ãã³ã°ããã£ã¹ã¯ãããã¡ãŒãªã© æ£ããå®è£
ããã®ã¯ç°¡åã§ã¯ãããŸããã æªã決å®ã¯ãç¹ã«ã·ã¹ãã ã®æé·ãšãšãã«ããã°ãã°ããã«ããã¯ãšãšã©ãŒãåŒãèµ·ãããŸãã èšèªã®å©ããåããŠæ¢ã«å¯èœãªãã®ã®ä»£æ¿æ§é ãåæ§ç¯ãããšãã³ãŒããããè€éã«ãªããåå¿è
ã®åŠç¿æ²ç·ãé·ããªããŸãã ãŸãããªãã¡ã¯ã¿ãªã³ã°ããã³ã³ãŒãåæããŒã«ã®å©ç¹ãå¶éãããŸãã
é¿ããæ¹æ³
ãã©ãããã©ãŒã ãŸãã¯ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®å©çšå¯èœãªæ©èœãšããããã£ã䜿çšããŸãã æ¢åã®èšèªãšç«¶åããèšèªæ§é ãäœæããªãã§ãã ããïŒç¹ã«æ°ããèšèªã«æ
£ããŠããããå€ãèšèªãèŠéããŠããå ŽåïŒã
äŸãšãµã€ã³
ããŒã¿ããŒã¹ãã¿ã¹ã¯ãã¥ãŒãšããŠäœ¿çšããã OSæ©èœã䜿çšãã代ããã«ãã£ã¹ã¯ãããã¡ãåçºæããŸãã PHPã§WebãµãŒããŒã®ã¿ã¹ã¯ãããŒãžã£ãŒãäœæããŸãã Pythonã®ãããªæ§é ããµããŒãããããã«Cã§ãã¯ããå®çŸ©ããŸãã
é£ããã¯äœã§ãã
ãããŸãã«ããã©ãããã©ãŒã ã§äœ¿çšå¯èœãªæ©èœïŒJVMãFirefoxãChromeãªã©ïŒãåäœæããå¿
èŠãããå ŽåããããŸãã
é·ãããŠèªããªã
OSãŸãã¯ãã©ãããã©ãŒã ã«ãã§ã«ååšããæ©èœã®åçºæã¯é¿ããŠãã ããã
7éæ³ã®æ°åãšç·
æ瀺çã¯æé»çãããåªããŠããŸã
Pythonã®çŠ
ããã£ã ããŒã¿ãŒãº
ããã¯äœã§ãã
ã³ãŒãã§ååä»ãå®æ°ã®ä»£ããã«ãååã®ãªãæ°åãŸãã¯æååå®æ°ã䜿çšããŸãã
ãªãæªãã®
説æçãªååããªããã°ãæ°åãæååã®æå³ã¯ç§ãã¡ããé ãããŠããŸãã ããã«ãããã³ãŒãã®ç解ãè€éã«ãªããå®æ°ãå€æŽããå¿
èŠããããšãšã©ãŒãçºçããå¯èœæ§ããããŸãã 次ã®ã³ãŒããæ€èšããŠãã ããã
def create_main_window(): window = Window(600, 600) # .....
ãããã®æ°åã¯äœã§ããïŒ æåãå¹
ã2çªç®ãé«ãã ãšããŸãã å°æ¥ãå¹
ã800ã«å€æŽããå¿
èŠãããå Žåãæ€çŽ¢ããŠäº€æããããšã«ãããå¶ç¶åãé«ããããã¯ããããšãå¯èœã«ãªããŸãã
ååã®ãªãæååå®æ°ã䜿çšãããšãšã©ãŒãçºçãã«ãããªããŸãããããŒã«ã©ã€ãºãè€éã«ãªããåãæååãç°ãªãæå³ã§äœ¿çšããããã«ãšã©ãŒãçºçããå¯èœæ§ããããŸãã ããããããšããåèªã¯ããã¯ã»ã«ãå¥èªç¹ããŸãã¯æšè«ã®çµãããæå³ããå ŽåããããŸã-çµæãšããŠãåèªã®æ€çŽ¢ãšçœ®æã¯ãšã©ãŒã«ã€ãªãããŸãã ããã¯ãæååãå€éšããæååãååŸããã¡ã«ããºã ã«çœ®ãæããããšã§åé¿ã§ããŸãã
é¿ããæ¹æ³
ååä»ãå®æ°ã䜿çšããå€éšãããªãœãŒã¹ãååŸããããšãæå³ããŸã
äŸãšãµã€ã³
äžã«äžããããã ãã®ã¢ã³ããã¿ãŒã³ã¯ç°¡åã«èªèã§ããŸãã
é£ããã¯äœã§ãã
䜿çšãããæ°åãéæ³ãã©ãããèšãã®ã¯é£ããå ŽåããããŸãã ã€ã³ããã¯ã¹ä»ãããŒãããå§ãŸãèšèªã§ã¯0ã å©æ¯ãèšç®ããå Žåã¯100ãããªãã£ãèšç®ããå Žåã¯2ãªã©
é·ãããŠèªããªã
ååã説æã®ãªãæ°åãæååå®æ°ã®äœ¿çšã¯é¿ããŠãã ããã
8éã«ãã管ç
ã³ãŒãã®è¡æ°ã§ããã°ã©ãã®é²æã枬å®ããããšã¯ãé£è¡æ©ãçµã¿ç«ãŠãé²æãééã§æž¬å®ããããšãšåãã§ãã
ãã«ã²ãŒã
ããã¯äœã§ãã
æ°å€ã®ã¿ã«åºã¥ããŠæ±ºå®ãäžããŸãã
ãªãæªãã®
æ°åã¯è¯ãã§ãã æåã®2ã€ã®ã¢ã³ããã¿ãŒã³ãææå°æ©ãªæé©åãšèªè»¢è»è±èœã¯ãA / Bãã¹ããšããã€ãã®å®éçãªçµæã§åé¿ããå¿
èŠããããŸãã ããããæ°åã ãã«åºã¥ãã®ã¯å±éºã§ãã ããšãã°ãæ°åã¯æå³ã®ããã¢ãã«ãçã延ã³ãããã¢ãã«ãå€ããªã£ãŠçŸå®ãæ£ããåæ ããªããªã£ããããŸãã ããã¯ãç¹ã«èªåçã«è¡ãããå ŽåïŒèªååã®
ããã¿ ïŒã«ãäžé©åãªæ±ºå®ã«ã€ãªãã
ãŸã ã

ãã1ã€ã®åé¡ã¯ãææ決å®ã«æ°åã䜿çšããããšã§ãïŒåçŽãªéç¥ã«ã¯äœ¿çšããŸããïŒã枬å®ããã»ã¹ãæäœããŠãç®çïŒ
ãªãã¶ãŒããŒãšæåŸ
ã®å¹æïŒãéæã§ããŸãã Wireã·ãªãŒãºã¯ãèŠå¯çœ²ãšæè²ã·ã¹ãã ãæå³ã®ããç®æšããæ°åã²ãŒã ã«ç§»è¡ããæ§åãã«ã©ãã«ã«ç€ºããŠããŸãã 次ã®ã°ã©ãã¯ããã®åé¡ã瀺ããŠããŸãã ãã¹ãã®ã°ã¬ãŒãã®ååžã瀺ããŸãããã¹ãã«åæ Œããããã®æå°ã°ã¬ãŒãã¯30ã§ãã

é¿ããæ¹æ³
ç²ç®çã«ã§ã¯ãªãã次å
ãšæ°åãè³¢ã䜿ããŸãããã
äŸãšãµã€ã³
è¡æ°ãã³ãããæ°ãªã©ã䜿çšãã ããã°ã©ããŒã®æå¹æ§ãè©äŸ¡ããã ãªãã£ã¹ã§éãããæéæ°ã§åŸæ¥å¡ã®ããã©ãŒãã³ã¹ã枬å®ããŸãã
é£ããã¯äœã§ãã
äŒç€Ÿã倧ãããªãã»ã©ãããå€ãã®ææ決å®ãå¿
èŠã«ãªããèªååãšãã©ã€ã³ããã³ããŒãžã®ä¿¡é Œã匷ããªãããã®ããã»ã¹ã«æµžéãå§ããŸãã
é·ãããŠèªããªã
ææ決å®ã®åºç€ãšããŠã§ã¯ãªããæ°åã䜿çšããŠéç¥ããŸã
9圹ã«ç«ããªãïŒãã«ã¿ãŒã¬ã€ã¹ãïŒã¯ã©ã¹
ã©ããããå®ç§ã¯ãè¿œå ãããã®ããªããšãã§ã¯ãªãã奪ããã®ããªããšãã«éæãããŸãã
ã¢ã³ãã¯ãŒãããµã³ãã°ãžã¥ããª
ããã¯äœã§ãã
äŸåé¢ä¿ã®ãªã圹ã«ç«ããªãã¯ã©ã¹ã¯ãå¥ã®ã¯ã©ã¹ã®ã¡ãœãããåŒã³åºããããåçŽã«äžèŠãªæœè±¡åã¬ã€ã€ãŒãè¿œå ããããã«äœ¿çšãããŸãã
ãªãæªã
Poltergeistã¯ã©ã¹ã¯ãè€éããšãµããŒãããã³ãã¹ãçšã®ã³ãŒããè¿œå ããã³ãŒããèªã¿ã«ããããŸãã ãã«ã¿ãŒã¬ã€ã¹ããäœããããïŒãããŠã»ãšãã©äœãããªãïŒã決å®ãããã®äœ¿çšãå®éã«æ©èœããã¯ã©ã¹ã§ç²Ÿç¥çã«çœ®ãæããããã«èšç·Žããå¿
èŠããããŸãã
é¿ããæ¹æ³
圹ã«ç«ããªãã¯ã©ã¹ãäœæããŠãå¯èœãªéãããããåé€ããªãã§ãã ããã
äŸãšãµã€ã³
æ°å¹Žåãç§ãåæ¥èšŒæžã«åãçµãã§ãããšããç§ã¯Javaã§æ°å
¥çã®ããã°ã©ãã³ã°ãæããŸããã ã©ãã®1ã€ã§ã¯ãã¹ã¿ãã¯ãšãªã³ã¯ãªã¹ãã®äœ¿çšã«é¢ãããããã¯ãæäŸãããŸããã ãããŠã圌ãã¯ç§ã«ã解決çããäžããŸããã ããããã®ãããªæ±ºå®ã§ããã»ãŒæåéãã§ãã
import java.util.EmptyStackException; import java.util.LinkedList; public class LabStack<T> { private LinkedList<T> list; public LabStack() { list = new LinkedList<T>(); } public boolean empty() { return list.isEmpty(); } public T peek() throws EmptyStackException { if (list.isEmpty()) { throw new EmptyStackException(); } return list.peek(); } public T pop() throws EmptyStackException { if (list.isEmpty()) { throw new EmptyStackException(); } return list.pop(); } public void push(T element) { list.push(element); } public int size() { return list.size(); } public void makeEmpty() { list.clear(); } public String toString() { return list.toString(); } }
èªãã ãšãã®æ··ä¹±ãæ³åããŠãã ãããLabStackã¯ã©ã¹ãå¿
èŠãªçç±ãšããã®ãããªåœ¹ã«ç«ããªãæŒç¿ããåŠçãç解ããããšãç解ããããšããŠããŸãã ããããŸã æ確ã§ãªãå Žåããã®ã¯ã©ã¹ã¯äœãããŸããã LinkedListãªããžã§ã¯ãã«åŒã³åºããæž¡ãã ãã§ãã ãŸããããã€ãã®ã¡ãœããã®ååãå€æŽãïŒclearã§ã¯ãªãmakeEmptyïŒãããã«æ··ä¹±ãæããŸãã LinkedListã®ã¡ãœããã¯åãããšãè¡ãã®ã§ããšã©ãŒãã§ãã¯ããžãã¯ã¯å¿
èŠãããŸããïŒåã«å¥ã®äŸå€NoSuchElementExceptionãä»ããŠïŒã ä»æ¥ãŸã§ãç§ã¯ãã®è³æã®èè
ã®é ã®äžã«äœããã£ãã®ãç解ã§ããŸããã
é£ããã¯äœã§ãã
äžèŠãããšããã®ã¢ããã€ã¹ã¯ãã¯ã©ã¹ãè¿œå ããããšãžã®ææãã»ã¯ã·ã§ã³ã®ã¢ããã€ã¹ãšã¯å察ã«ãªããŸãã ã¯ã©ã¹ãéèŠãªåœ¹å²ãæãããèšèšãç°¡çŽ åããææãšã圹ã«ç«ããªãæ¹æ³ã§è€éããå¢å€§ãããææãç解ããããšãéèŠã§ãã
é·ãããŠèªããªã
æ¬åœã®è²¬ä»»ã®ãªãã¯ã©ã¹ãé¿ããŠãã ããã