¤¨¡¼¤È¡¢Íפ¹¤ë¤Ë¡Ö¤¤¤Ó¤Ä¤Ê¤³¤È¤Ï¤¤¤¤¤³¤È¤À¡×¤È¤¤¤¦¤³¤È¤Ê¤Î¤«¤Ê¡©
»ä¤¬ÆüËܤòÂåɽ¤·¤Æ¤ë¤è¤¦¤Êɽ¸½¤ÏÀµÄ¾¤³¤Ã¤Ñ¤º¤«¤·¤¤¤Î¤À¤¬¡¢ ¡ÖWindows¤Î¤³¤È¤¬¤ï¤«¤é¤Ê¤¤¤ª¤Ã¤µ¤ó¡×¤È¤¤¤¦É½¸½¤Ï ¼Â¤Ï¤¢¤ó¤Þ¤ê¤Ï¤º¤ì¤Æ¤Ê¤¤¤«¤â¡£
¤¿¤À¤·¡¢¤ï¤«¤é¤Ê¤¤¤Î¤Ï¼ç¤ËWindows¥×¥í¥°¥é¥ß¥ó¥°¤Ç¤¢¤Ã¤Æ¡¢ Æü¾ïŪ¤ÊÁàºî¤äÀßÄ꤯¤é¤¤¤Ï(¿Í¤è¤ê²ó¤êÆ»¤¹¤ë¤³¤È¤Ï¤¢¤Ã¤Æ¤â)¤Ê¤ó¤È¤«¤Ç¤¤ë¡£
¤Ç¤â¡¢¥ï¡¼¥É¤ä¥¨¥¯¥»¥ë¤ä¥Ñ¥ï¡¼¥Ý¥¤¥ó¥È¤Ïº£¤Ç¤â»È¤¨¤Ê¤¤¡£
Java¤ÏÌÀ¼¨Åª¤ËÀë¸À¤·¤Æ¤Ê¤¤Îã³°¤¬¥Ï¥ó¥É¥ë¤µ¤ì¤Æ¤¤¤Ê¤¤¤È ¥³¥ó¥Ñ¥¤¥ë»þ¤Ë¥¨¥é¡¼¤Ë¤Ê¤ë¡£¤³¤ì¤Ï¤³¤ì¤ÇÁÇÀ²¤é¤·¤¤µ¡Ç½¤À¤±¤É¡¢ ·ë²Ì¤È¤·¤Æ¥×¥í¥°¥é¥à¥³¡¼¥É¤òÈË»¨¤Ë¤·¤Æ¤·¤Þ¤¦(¤³¤È¤¬¤¢¤ë)¡£
¸µ¡¹¤Ï°Ê²¼¤Î¤è¤¦¤Ë¥·¥ó¥×¥ë¤Ê¥³¡¼¥É¤À¤Ã¤¿¤Î¤À¤¬¡¢
String readData(File file) {
BufferedReader in = new BufferedReader(new FileReader(file));
String data = in.readLine();
in.close();
return data;
}
¥³¥ó¥Ñ¥¤¥ë¤Ç¤¤ë¤¿¤á¤Ë¤ÏÎã³°¤òÊ᪤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
String readData(File file, String default_value) {
String data;
BufferedReader in = null;
try {
in = new BufferedReader(new FileReader(file));
data = in.readLine();
in.close();
}
catch(FileNotFoundException e) {
return default_value;
}
return data;
}
¤·¤«¤·¡¢¤³¤ì¤Ç¤â¤Þ¤À¥À¥á¤À¡£close()¤¬IOException¤ò½Ð¤¹¤«¤â¤·¤ì¤Ê¤¤¡£ ¤Ç¡¢ºÇ½ªÈǤϤ³¤ó¤Ê´¶¤¸¡£
String readData(File file, String default_value) {
String data = default_value;
BufferedReader in = null;
try {
in = new BufferedReader(new FileReader(file));
data = in.readLine();
}
catch(IOException e) {}
finally {
if (in != null) {
try {
in.close();
}
catch(IOException e) {}
}
}
return data;
}
Îã³°¤ÎÊáªϳ¤ì¤ò¸¡½Ð¤·¤Æ¡¢Àµ¤·¤¤¥³¡¼¥É¤ò½ñ¤«¤»¤è¤¦¤È¤¤¤¦¸À¸ìµ¡Ç½¤¬ ¤à¤·¤í¥³¡¼¥É¤òÈË»¨¤Ë¤·¤Æ¡¢¡Ö¸µ¡¹¤ä¤ê¤¿¤¤¤³¤È¡×¤òÎã³°½èÍý¤ËËäËפµ¤»¤Æ¤·¤Þ¤¦´í¸±À¤¬¤¢¤ë¡£ ¤Þ¤¿¡¢¤³¤ó¤Ê¤ËÈË»¨¤À¤È¤½¤â¤½¤âÎã³°¤Ê¤ó¤«»È¤¤¤¿¤¯¤Ê¤¤(C¤ß¤¿¤¤¤Ë¥¨¥é¡¼¥³¡¼¥É¤Ë¤·¤Á¤ã¤¦) ¤È¤¤¤¦µ¤¤Ë¤µ¤»¤é¤ì¤Æ¤·¤Þ¤¦¤ó¤¸¤ã¤Ê¤¤¤«¤Ê¤¢¡£¤½¤ì¤À¤È¤à¤·¤íÂಽ¤òÂ¥¿Ê¤·¤Á¤ã¤¦¡£
¤Þ¤¢¡¢¤³¤ó¤Ê¤³¤È¤¹¤ë¤¯¤é¤¤¤Ê¤é¾å¤ËIOException¤òÅꤲ¤Á¤ã¤¨¤Ð¤¤¤¤¤Î¤«¤â¤·¤ì¤Ê¤¤¤±¤É¡£
°ìÊý¡¢Ruby¤Ç¤Ï¤³¤¦¤Ê¤ë¡£
def read_data(file)
begin
file.readline
ensure
file.close
end
end
¤Ç¤â¡¢¤³¤ì¤ÏÎã³°¤ò¤½¤Î¤Þ¤Þ¥¹¥ë¡¼¤·¤Æ¤ë¤ó¤Ç¡¢ ¾åµ¤ÎJava¥³¡¼¥É(ºÇ½ªÈÇ)¤ÈÈæ³Ó¤¹¤ë¤Î¤Ïȿ§¤«¤â¤·¤ì¤Ê¤¤¡£
Dolphon³«È¯½ªÎ»¤Ë¥¤¥ó¥¹¥Ñ¥¤¥¢¤µ¤ì¤¿¥¨¥ó¥È¥ê¤Õ¤¿¤¿¤Ó¡£ ¡ÖSmalltalk¤¬À¸»ºÀ¤Ë·ç¤±¤ë¡×¤È¤¤¤¦¤Î¤Ï¡¢ ¤Þ¤¿¤º¤¤¤Ö¤óÂçÃÀ¤Ê¥¨¥ó¥È¥ê¥¿¥¤¥È¥ë¤À¤È»×¤¦¡£
¤¬¡¢¤³¤³¤Ç¤Ï¡Ö¸À¸ì¤È¤·¤Æ¤Ï¤Ï¤ë¤«¤ËÎô¤ëJava¤¬¡¢ ¤½¤Î¸À¸ì¤È¤·¤Æ¤Î¤Ê¤¸¤ß¤ä¤¹¤µ¤ä ¥¯¥é¥¹¥é¥¤¥Ö¥é¥ê¤ÎÃßÀѤˤè¤Ã¤Æ ¡ØÉáÄÌ¤Î¥×¥í¥°¥é¥Þ¡Ù¤ÎÀ¸»ºÀ¤ò¸þ¾å¤µ¤»¤ë¤³¤È¤Ë¤è¤ê¡¢ Smalltalk¥¨¥¥¹¥Ñ¡¼¥È¤è¤ê¤âÄ㥳¥¹¥È¤Ç¤Î¥½¥Õ¥È¥¦¥§¥¢³«È¯¤ò²Äǽ¤Ë¤·¤¿¡×¤È¤¤¤¦ ¤³¤È¤¬½Å»ë¤µ¤ì¤Æ¤¤¤ë¡£
¿ô¾¯¤Ê¤¤¡ÖÁª¤Ð¤ì¤¿¿Í¡×¤ÎÀ¸»ºÀ¤¬¤¤¤¯¤é¹â¤¯¤Æ¤â¡¢ °µÅÝŪ¤Ë¿¤¤¡ÖÉáÄ̤ο͡פÎ(°Â¤¤)À¸»ºÀ¤Ë¤Ï¤«¤Ê¤ï¤Ê¤¤¡¢ ¤È¤¤¤¦»ëÅÀ¤«¡£
´°Á´¤ËƱ°Õ¤Ï¤·¤Ê¤¤¤â¤Î¤Î¡¢¡ÖÉáÄ̤οͤËÍ¥¤·¤¤¡×¤È¤¤¤¦¤Î¤Ï¡¢ Ruby¤¬Í£°ìLisp¤äSmalltalk¤Ë¾¡¤Ã¤Æ¤¤¤ëÅÀ¤À¤±¤Ë¡¢ ¸Ä¿ÍŪ¤Ë¤Ï¥¢¥ê¤Ê»ëÅÀ¤À¤È»×¤¦¡£
Stallman¤Î·çÅÀ¤Ï¾¿Í¤Î´¶¾ð¤òÍý²ò¤·¤Ê¤¤ÅÀ¤À¤È»×¤¦¡¢¤È¤¤¤¦Ïá£
Stallman¤ÏEmacs¤Î¤¢¤ëµ¡Ç½¤ò½¤Àµ¤¹¤ë¤³¤È¤ò¡¢ Emacs¥á¥ó¥Æ¥Ê¤ÎStefan Monnier¤Ë°ÍÍꤷ¤¿¡£ ¤·¤«¤·¡¢Stefan¤Ë¤Ï̼¤¬»º¤Þ¤ì¤¿¤Ð¤«¤ê¤Ê¤Î¤Ç¡¢»þ´Ö¤¬¼è¤ì¤Ê¤«¤Ã¤¿¡£
Stallman¤ÎÊÖÅú¤Ï
I am sorry to hear it. Unless someone else can figure these things out, I guess the release has to wait until you have time.
¤½¤ì¤Ï»Äǰ¤À¡£¤Û¤«¤Î狼¤¬Âнè¤Ç¤¤Ê¤±¤ì¤Ð¥ê¥ê¡¼¥¹¤Ï±ä´ü¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤Ê¡£
¾¤Î¿Í¤¬Stepan¤Ë¡Ö¤ª¤á¤Ç¤È¤¦¡×¤ò¸À¤¦Ãæ¡¢Stallman¤ÏÄɤ¤ÂǤÁ¤ò¤«¤±¤¿¡£
It doesn't take special talents to reproduce -- even plants can do it. On the other hand, contributing to a program like Emacs takes real skill. That is really something to be proud of.
It helps more people, too.
»Ò¹¤òºî¤ë¤Ã¤Æ¤Î¤Ë¤ÏÂ礷¤¿ºÍǽ¤ÏÍפé¤Ê¤¤¡£¿¢Êª¤Ç¤µ¤¨¤Ç¤¤ë¤³¤È¤À¡£ ¤½¤ì¤ËÈæ¤Ù¤ÆEmacs¤Î¤è¤¦¤Ê¥×¥í¥°¥é¥à¤Ë¹×¸¥¤¹¤ë¤Î¤Ï¸Ø¤ë¤Ë¤ëËÜÅö¤ÎºÍǽ¤À¡£
¤â¤Ã¤È¤¿¤¯¤µ¤ó¤Î¿Í¤ò½õ¤±¤ë¤³¤È¤Ë¤Ê¤ë¤·¤Í¡£
¤¤¤ä¡¢¤½¤ê¤ã¤½¤¦¤Ê¤ó¤À¤±¤É¡¢¤Í¤§¡£
This work is licensed under a Creative Commons License.
ºî¤ë¤Î¤Ï³Ú¤À¤±¤É¡¢¤Á¤ã¤ó¤È°é¤Æ¤ë¤Î¤ÏÂçÊѤÀ¤È»×¤¦¤Ê¤¢¡£<br>¤È¤Ï¤¤¤¨¡¢RMS¤½¤ì¤¯¤é¤¤¤ÎÊѿͤǤ¢¤Ã¤Æ¤Û¤·¤¤¤È¤¤¤¦´ê˾¤â¤¢¤Ã¤¿¤ê¡£
¤½¤³¤Ç¤Û¤é¡¢C++¤ÎRAII¤Î½ÐÈ֤Ȥ¤¤¦¤ï¤±¤Ç¤¹¤è¡£D¸À¸ì¤Ç¤â¤Ç¤¤¿¤ó¤Ç¤·¤¿¤Ã¤±¡©
¤â¤··¯¤¬Èà½÷¤òºÍǽ¤¢¤ë¿Í´Ö¤Ë°é¤Æ¤¿¤é¤½¤Î»þ¤Ë¤Ï¤ª¤á¤Ç¤È¤¦¤ò¸À¤¦¤è¡£<br>¤½¤ì¤È¤¢¤ê¤¬¤È¤¦¤â¤Í¡£<br><br>¡¦¡¦¡¦¤È¤Ç¤â³¤±¤Ð¤½¤ì¤Ï¤½¤ì¤Ç¤«¤Ã¤³¤¤¤¤¤è¤¦¤Êµ¤¤â¤¹¤ëʸ¾Ï¤Ç¤¹¤Ê¡£
¡Ö»Ò¹¤òºî¤ëÊý¤¬¤Ü¤¯¤Ë¤Ï³Ú¤·¤«¤Ã¤¿¤«¤é¡×
¾¤Î¾ì½ê¤Ç¤â¸ÀµÚ¤µ¤ì¤Æ¤Þ¤¹¤¬¡¢<br><br>def read_data(file)<br> begin<br> file.readline<br> ensure<br> file.close<br> end<br>end<br><br>¤È¤¤¤¦Ruby¥³¡¼¥É¤Ïȿ§±¾¡¹°ÊÁ°¤ËÎã³°¤òÊ䤷¤ÆÌµ¤¤<br>¡ÖÀµ¤·¤¯Ìµ¤¤¡×¥³¡¼¥É(¸µ¤Î¥³¡¼¥É¤Ç¤ÏIOException¤ò<br>¥Ï¥ó¥É¥ê¥ó¥°¤·¤Æ¥Ç¥Õ¥©¥ë¥ÈÃͤòÊÖ¤·¤Æ¤¤¤ë¤Î¤ÈÈæ³Ó¤·¤Æ)<br>¤Ê¤Î¤Ç¡¢µÕÀâŪ¤Ë¥Á¥§¥Ã¥¯ºÑ¤ßÎã³°¤Î͸úÀ¤ÎΩ¾Ú¤Ë<br>¤Ê¤Ã¤Æ¤Þ¤»¤ó¤«¡©
Îã³°¤ò¤®¤ê¤®¤ê¤Þ¤ÇÊ᪤·¤Ê¤¤¤Î¤¬Rubyή¤À¤È»×¤¦¤Î¤Ç¡¢¤½¤¦¤¤¤¦°ÕÌ£¤Ç¤Ï͸úÀ¤ÎΩ¾Ú¤Ë¤Ê¤Ã¤Æ¤ë¤È¤Ï»×¤¤¤Þ¤»¤ó¡£<br><br>¤è¤êÀµ³Î¤Ë¤Ï¡¢Îã³°½èÍý¤Ï¶ËÎÏñ°ì¤Î¥á¥½¥Ã¥É¤ÇÊĤ¸¤Æ¤¤¤ë¤Ù¤¤ÇÊ᪤θ«Æ¨¤·¤ÏŰÄìŪ¤ËËɤ°¤Ù¤·¤È¤¤¤¦¤Î¤¬Ã£À®¤¹¤Ù¤ÌÜɸ¤Ç¤¢¤ì¤Ð(Java¤Ç¤Ï¤½¤¦¤ß¤¿¤¤¤Ç¤¹¤Í)¡¢¥Á¥§¥Ã¥¯Îã³°¤Î͸úÀ¤ÏÈÝÄꤷ¤¬¤¿¤¤¤Ç¤¹¡£¤¬¡¢¤½¤¦¤Ç¤Ê¤¤¤Ê¤é¤Ðµ½Ò¤ÎÈË»¨¤µ¤ò¾·¤¤«¤Í¤Ê¤¤¡¢¤È¤¤¤¦¤³¤È¤Ç¤¹¤¬¡£
> It doesn't take special talents to reproduce <br>¤³¤³¤Ç¤Ï¡Ö»Ò¹¤òºî¤ë¤Ã¤Æ¡×¤Ã¤Æ¤Ü¤«¤·¤Æ¤¤¤ë¤±¤É¡¢¤â¤¦¤³¤ì¤Ï¡ÖÀ¸¿£¤¹¤ë¤Ë¤ÏÆÃÊ̤ʻñ¼Á¤ÏÍפé¤Ê¤¤¡×¤°¤é¤¤¥¥Ä¥¤½ñ¤Êý¤·¤Æ¤¤¤ë¤è¡£¤¦¤à¡£¤³¤ÎÊÕ¤¬RMS¤¬RMS¤¿¤ë½ê°Ê¤À¤Ê¡£RMS¤Ïº¬¤Ï¤¤¤¤¿Í¤À¤·¡¢RMS¤è¤ê¤Ò¤É¤¤ÅۤϤ½¤ÎÊդˤ´¤í¤´¤í¤¤¤ë¤«¤é¡¢Ê̤˵¤¤Ë¤Ê¤é¤Ê¤¤¤±¤É¤Í¡£¤Á¤Ê¤ß¤Ë¸òÄ̵¡´Ø¤¬º®¤ó¤Ç¤¤¤ÆK2¤Î¥Ñ¡¼¥Æ¥£¡¼¤ËÃÙ¤ì¤ÆÍ褿¤È¤¤ÎRMS¤Ï¡¢¤¹¤´¤¯¶²½Ì¤·¤Æ¤¤¤¿¡£¤¢¤ó¤ÊRMS¤ò¸«¤¿¤Î¤ÏºÇ½é¤À¤·¡¢¤¤Ã¤ÈºÇ¸å¤À¤È»×¤¦¡£¤µ¤¹¤¬¤ËK2¤Ë¤ÏƬ¤¬¾å¤¬¤é¤Ê¤¤¡£
»ä¤ÏRMS¤Ï¤¢¤ì¤Ç¤¤¤¤¤È»×¤¤¤Þ¤¹¡£¤¤¤Ó¤Ä¤ÊÊý¤¬¤¤¤¤¤Ã¤Æ½ñ¤¤¤¿¤Ð¤Ã¤«¤ê¤À¤·¡£<br>¿È¶á¤Ë¤¤¤ë¤È¤·¤ó¤É¤½¤¦¤Ç¤¹¤±¤É¡£¤½¤ì¤ÏÊ̤ÎÏá£
> ¤è¤êÀµ³Î¤Ë¤Ï¡¢Îã³°½èÍý¤Ï¶ËÎÏñ°ì¤Î¥á¥½¥Ã¥É¤ÇÊĤ¸¤Æ¤¤¤ë¤Ù¤¤ÇÊ᪤θ«Æ¨¤·¤ÏŰÄìŪ¤ËËɤ°¤Ù¤·¤È¤¤¤¦¤Î¤¬Ã£À®¤¹¤Ù¤ÌÜɸ¤Ç¤¢¤ì¤Ð(Java¤Ç¤Ï¤½¤¦¤ß¤¿¤¤¤Ç¤¹¤Í)<br><br>Java¤Ë¤ª¤¤¤Æ¤Ï¡¢¤½¤Î¥á¥½¥Ã¥É¤Ç¥Á¥§¥Ã¥¯Îã³°¤ò½èÍý¤·¤Ê¤¤<br>¤Ê¤é¤Ð¤½¤ì¤òÌÀ¼¨¤»¤è(throws)¤¬½ÅÍפʤΤǤ¢¤Ã¤Æ¡¢¤½¤ì¤Ï<br>Îã³°½èÍý¤¬Ã±°ì¤Î¥á¥½¥Ã¥É¤ÇÊĤ¸¤Æ¤¤¤ë¤Ù¤¡¢¤È¤¤¤¦»ö¤ò<br>°ÕÌ£¤·¤Þ¤»¤ó¡£¤è¤êÀµ³Î¤Ë¸À¤¦¤Ê¤é¡¢¤¢¤ë¥á¥½¥Ã¥É¤¬¤É¤Î<br>¥Á¥§¥Ã¥¯Îã³°¤òÅꤲ¤ë¤«¤¬»ÅÍͤȤ·¤ÆÌÀ¼¨¤µ¤ì¡¢¤«¤Ä¤½¤Î<br>À°¹çÀ¤¬¥³¥ó¥Ñ¥¤¥é¤Ë¤è¤Ã¤Æ¥Á¥§¥Ã¥¯¤µ¤ì¤ë¤È¤¤¤¦ÅÀ¤¬<br>½ÅÍפʤΤǤ¢¤Ã¤Æ¡¢Ã±¤ËÎã³°¤ÎÊáªϳ¤ì¤òËɤ°¤¿¤á¤Î<br>µ¡¹½¤È¤·¤Æ¤È¤é¤¨¤ë¤Î¤ÏÀµ¤·¤¯Ìµ¤¤¤È¹Í¤¨¤Þ¤¹¡£<br><br>¤Þ¤¿¡¢¤½¤â¤½¤âRuby¤Ë¤ª¤¤¤Æ¤â¸ø³«¤µ¤ì¤ë¥¯¥é¥¹/¥â¥¸¥å¡¼¥ë<br>¤Î¥á¥½¥Ã¥É¤¬¤É¤ÎÎã³°¤òÅꤲ¤ë¤«¡¢¤È¤¤¤¦¤Î¤ÏÌÀ¼¨¤µ¤ì¤ë<br>ɬÍפ¬¤¢¤ê¤Þ¤¹¤è¤Í(¤½¤¦¤Ç¤Ê¤±¤ì¤Ð¡¢Îã³°¤ò½èÍý¤·¤è¤¦¤¬<br>̵¤¤)¡©Java¤Î¥Á¥§¥Ã¥¯Îã³°¤¬¤¦¤Ã¤È¤ª¤·¤¤¤Î¤Ï¡¢ÆâÉôŪ¤Ë<br>»È¤ï¤ì¤ë¥á¥½¥Ã¥É¤Ë¤Þ¤Ç¤½¤Î¤è¤¦¤ÊÌÀ¼¨¤ò¶¯À©¤µ¤ì¤ë¤È¤³¤í<br>¤Ë¤¢¤ë¤Î¤Ç¤¢¤Ã¤Æ¡¢¥ê¥ó¥¯Àè¤ÎÌäÂêÄ󵯤ÏËܼÁ¤ò¤Ä¤¤¤Æ¤¤¤Ê¤¤<br>¤È»×¤¤¤Þ¤¹¡£
Ϣ³Åê¹Æ¤¹¤¤¤Þ¤»¤ó¡£¤Þ¤Ä¤â¤È¤µ¤ó¤Î¾åµRuby¥³¡¼¥É¤Î<br>ÌäÂêÅÀ¤Ï¡¢Java¥³¡¼¥É¤Î<br>readData(File file, String defaultValue)<br>¤Î¤¬IOÎã³°¤¬µ¯¤¤¿¾ì¹ç¤ËdefaultValue¤òÊÖ¤¹¤è¤¦¤Ë<br>¤Ê¤Ã¤Æ¤¤¤ë¤Î¤Ë¡¢Ruby¥³¡¼¥É¤Ë¤ÏÂбþ¤¹¤ë½èÍý¤¬Â¸ºß¤·¤Ê¤¤<br>¤³¤È¤Ç¤¹¡£Java¤Ç¤âthrows¤Ë¤è¤Ã¤Æ¾å°Ì¤Î¥á¥½¥Ã¥É¤Ë<br>½èÍý¤ò°Ñ¾ù¤Ç¤¤ë¤Î¤ËreadData¤Ç¤Ï¤¢¤¨¤Æ¤½¤¦¤·¤Æ¤¤¤Ê¤¤<br>¤ï¤±¤Ç¤¹¤«¤é¡¢Rubyή¤¬¤É¤¦¤«¤È¤¤¤¦ÌäÂê¤Ç¤Ï¤Ê¤¯¡¢<br>ñ½ã¤ËÈæ³Ó¤È¤·¤Æ°ÕÌ£¤ò¤Ê¤·¤Æ¤¤¤Þ¤»¤ó¡£
»ÈÍѤȤ·¤Æ¤ÎÎã³°¤¬¥×¥í¥°¥é¥àÃæ¤Ëµ½Ò¤µ¤ì¡¢¤½¤ì¤¬¥³¥ó¥Ñ¥¤¥ë»þ¤Ë¥Á¥§¥Ã¥¯¤µ¤ì¤ë¤È¤¤¤¦°ÕÌ£¤Ç¥Á¥§¥Ã¥¯Îã³°¤ÏÀÅŪ·¿¤ÈƱ¤¸À¼Á¤ò»ý¤Ã¤Æ¤¤¤ë¤È»×¤¤¤Þ¤¹¡£¤â¤Á¤í¤ó¡¢¤½¤ì¤Ï¸·Ì©¤Ê¥Á¥§¥Ã¥¯¤¬¹Ô¤ï¤ì¤ë¤Î¤Ç¤è¤¤¤³¤È¤Ê¤Î¤Ç¤¹¤¬¡¢µ½Ò¤¬Â¿¤¯¤Ê¤Ã¤Æ¤¦¤Ã¤È¤¦¤·¤¤¤³¤È¤â¤¢¤ë¤È¤¤¤¦ÅÀ¤âÀÅŪ·¿¤ÈƱ¤¸¤Ç¤·¤ç¤¦¡£<br><br>¥ê¥ó¥¯Àè¤Ï¡Ö¤¦¤Ã¤È¤¦¤·¤¤¡×¤È¤¤¤¦¤Î¤¬ËܼÁ¤Ç¤¢¤ë¤È»×¤¦¤Î¤Ç¡¢»ä¤Ï¡ÖËܼÁ¤ò¤Ä¤¤¤Æ¤¤¤Ê¤¤¡×¤È¤Ï»×¤¤¤Þ¤»¤ó¡£Java¤Ë¤½¤ì¤¬¤¢¤ë¤Ù¤¤Ç¤Ï¤Ê¤¤¡¢¤È¤«¡¢¥Á¥§¥Ã¥¯Îã³°¤Ï¤¤¤Ä¤â°¤¤¡¢¤È¤¤¤¦¼çÄ¥¤Ç¤¢¤ì¤Ð¤½¤ì¤Ï´Ö°ã¤Ã¤Æ¤¤¤ë¤È»×¤¤¤Þ¤¹¤¬¡£
¤¨¡¼¤È¡¢¤Ç¤Ï<br><br>def read_data(file, default)<br> begin<br> file.readline<br> ensure<br> file.close<br> end<br>rescue<br> default<br>end<br><br>¤Ç¡¢¤É¤¦¤Ç¤·¤ç¤¦¡©
¤À¤È¤·¤¿¤éJava¤ÎÊý¤Ï¡¢<br><br>String readData(File file, String default_value) {<br> try {<br> BufferedReader in = new BufferedReader(new FileReader(file));<br> try {<br> return in.readLine();<br> }<br> finally {<br> in.close();<br> }<br> }<br> catch (IOException e) {<br> return default_value;<br> }<br>}<br><br>¤¸¤ã¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡£·¿»ØÄê¤È¥Ö¥é¥±¥Ã¥È°Ê³°¤ÏƱ¤¸¹½Â¤¤À¤È»×¤¤¤Þ¤¹¡£
¤½¤ì¤Ã¤Ænew¤ÇÎã³°µ¯¤¤¿¤éin¤¬Ì¤½é´ü²½¤¸¤ã¤¢¤ê¤Þ¤»¤ó¤«¡©<br>¤½¤ì¤È¤â¤½¤ì¤é¤Ç¤ÏÎã³°¤Ïµ¯¤¤Ê¤¤¤Î¤«¤Ê¡£»ä¤ÏJava¤ËÁ¤¤¤ó¤Ç
Îã³°¤Ã¤ÆÈ¯À¸¤·¤¿¤é¨ºÂ¤ËÊ䤷¤Ê¤¤ã¤Ê¤é¤Ê¤¤¤Ã¤Æ¤â¤Î¤¸¤ã¤Ê¤¤¤Ç¤·¤ç¡£<br>¤Á¤ã¤ó¤È¤½¤ÎÎã³°¤ËÂнè¤Ç¤¤ë½ê¤ÇÊ䤹¤ì¤Ð¤¤¤¤¤ó¤À¤«¤é¡£<br><br>¾ï¤Ë¤½¤Î¾ì¤ÇÂнè¤Ç¤¤ë¤ó¤Ê¤é¡¢¤ï¤¶¤ï¤¶Îã³°¤Ë¤·¤Ê¤¯¤Æ¤â¡¢Ìá¤êÃͤǤ¤¤¤¤È»×¤¦¡£
¥³¥ó¥¹¥È¥é¥¯¥¿¤ÇÎã³°¤¬È¯À¸¤·¤Æin¤¬½é´ü²½¤µ¤ì¤Ê¤¯¤Æ¤â¡¢Æâ¦¤Îtry¥Ö¥í¥Ã¥¯¤Ë¤Ï¤Þ¤ÀÆþ¤Ã¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢finally¤Ï¼Â¹Ô¤µ¤ì¤Þ¤»¤ó¡£¤À¤«¤éÌäÂê¤Ê¤¤¤Ç¤¹¡£
¤¢¡¢¤½¤¦ÆÉ¤à¤ó¤Ç¤¹¤Í¡£¤¦¤«¤Ä¡£<br>¤É¤¦¤â¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£
>Îã³°¤Ã¤ÆÈ¯À¸¤·¤¿¤é¨ºÂ¤ËÊ䤷¤Ê¤¤ã¤Ê¤é¤Ê¤¤¤Ã¤Æ¤â¤Î¤¸¤ã¤Ê¤¤¤Ç¤·¤ç¡£ <br>>¤Á¤ã¤ó¤È¤½¤ÎÎã³°¤ËÂнè¤Ç¤¤ë½ê¤ÇÊ䤹¤ì¤Ð¤¤¤¤¤ó¤À¤«¤é¡£<br>¤È¤¤¤¦¹Í¤¨Êý¤Ï¡¢»ä¤ÏÉݤ¤¤Ç¤¹¤Í¡£ÆÃ¤ËI/O¥¨¥é¡¼¤ä¥á¥â¥êÉÔ¡¢¿ôÃͱ黻Åù¤ÎÎã³°¤Ï¡£
¤½¤ÎÄøÅ٤μÂÎϤÇJava¤Ë´Ø¤·¤Æ¤¢¡¼¤À¤³¡¼¤À¸À¤Ã¤Æ¤ë¤ó¤Ç¤¹¤«¡¦¡¦¡¦<br>ÀµÄ¾¡¢¼ºË¾¤·¤Þ¤·¤¿¡£
hhh¤µ¤ó<br>¤É¤ì¤Û¤É¤Î¼ÂÎϤò¤ª»ý¤Á¤«¤Ï¸¤¸¤Þ¤»¤ó¤¬¡¢¤É¤Ê¤¿¤ËÂФ·¤Æ¶Ä¤Ã¤Æ¤¤¤ë¤Î¤«¤°¤é¤¤¤Ï¡¢¤Ï¤Ã¤¤ê¤µ¤»¤¿¤Û¤¦¤¬µ¹¤·¤¤¤Î¤Ç¤Ï¤Ê¤¤¤Ç¤·¤è¤¦¤«?
Matz»á¤â´û¸¸À¸ì¤Ë¾Ü¤·¤¤¿Í¤¬Java¤òÊÙ¶¯¤¹¤ë»þ¤Ë¤Ï¤Þ¤ëÍî¤È¤··ê¤Ë¸«»ö¤Ë¤Ï¤Þ¤Ã¤Æ¤Þ¤¹¤Í:-p<br>°ìÈÌŪ¤Ë¸À¤ï¤ì¤ëException¤Ë¤ÏJava¤Ç¤ÏError¤¬ÁêÅö¤·¡¢<br>Exception¤ÏError¤ÎÆÃ¼ì¤Ê°ì·ÁÂ֤Ȥ¤¤¦·Á¤Ë¤Ê¤Ã¤Æ¤Þ¤¹¡£<br><br>»ä¤â²áµî¤ËƱ¤¸´ª°ã¤¤¤ò¤·¤ÆÃѤò¤«¤¤Þ¤·¤¿w
> ¤«¤ë¤¯¤é¤ó ¤µ¤ó<br>²¿¤¬¤É¤¦¤Ï¤Þ¤Ã¤Æ¤¤¤ë¤Î¤«Îɤ¯Ê¬¤«¤ê¤Þ¤»¤ó¤·¡¢¤Ê¤Ë¤¬°ìÈÌŪ¤Ê¤Î¤«¤ÏÃΤê¤Þ¤»¤ó¤¬¡¢<br>Java ¤Ç Exception ¤¬ Error ¤Î°ì·ÁÂÖ¤Ê¤ó¤Æ¤³¤È¤Ï¤¢¤ê¤Þ¤¨£ó¤ó¡£<br>Error => Throwable ¤Î´Ö°ã¤¤¤Ç¤·¤ç¤¦¤«¡£
> µ½Ò¤¬Â¿¤¯¤Ê¤Ã¤Æ¤¦¤Ã¤È¤¦¤·¤¤¤³¤È¤â¤¢¤ë¤È¤¤¤¦ÅÀ¤âÀÅŪ·¿¤ÈƱ¤¸¤Ç¤·¤ç¤¦¡£ <br><br>¤³¤ì¤ÏËÜÂ꤫¤é¤Ï¤º¤ì¤ë¤Î¤Ç¤¹¤¬¡¢ÀÅŪ·¿°ìÈ̤ÎÌäÂê¤È¤·¤Æ<br>¤Ï´Ö°ã¤¤¤Ç¤¹¤è¤Í¡£¤½¤ì¤ÏÍۤ˷¿ÉÕ¤±¤¹¤ë¤³¤È¤ÎÌäÂêÅÀ<br>¤Ç¤¢¤Ã¤Æ¡¢ÀÅŪ·¿ÉÕ¤±¤ÎÌäÂêÅÀ¤Ç¤Ï̵¤¤¤Ç¤¹¡£¥Á¥§¥Ã¥¯ºÑ¤ß<br>Îã³°¤Ë´Ø¤·¤Æ¤â¡¢Îã³°»ÅÍÍ(throws)¤ò¿äÏÀ¤¹¤ë¤³¤È¤Ï¸¶ÍýŪ<br>¤Ë²Äǽ¤Ê¤Ï¤º¤Ç¤¹¡£<br><br>> ¥ê¥ó¥¯Àè¤Ï¡Ö¤¦¤Ã¤È¤¦¤·¤¤¡×¤È¤¤¤¦¤Î¤¬ËܼÁ¤Ç¤¢¤ë¤È»×¤¦¤Î¤Ç¡¢»ä¤Ï¡ÖËܼÁ¤ò¤Ä¤¤¤Æ¤¤¤Ê¤¤¡×¤È¤Ï»×¤¤¤Þ¤»¤ó¡£<br><br>¥ê¥ó¥¯Àè¤Ç¤Ï¡¢¾¯¤Ê¤¯¤È¤âËÜʸ¤Ë¤ª¤¤¤Æ¤Ï¡¢catch¤ò¶¯À©<br>¤µ¤ì¤ë¤È¤¤¤¦´ÑÅÀ¤«¤é¤¦¤Ã¤È¤¦¤·¤¤¤È¤¤¤¦»ö¤ò¼çÄ¥¤·¤Æ¤¤¤ë<br>¤è¤¦¤Ë¸«¤¨¤Þ¤¹¡£»ä¤Î¼çÄ¥¤Ï¡¢Java¤Î¥Á¥§¥Ã¥¯Îã³°¤Ç¤Ï<br>catch¤ò¶¯À©¤µ¤ì¤ë¤«¤é¤¦¤Ã¤È¤ª¤·¤¤¤È¤¤¤¦¤Î¤Ï¤ª¤«¤·¤¤<br>(catch¤ò¶¯À©¤µ¤ì¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¤Î¤Ç)¡¢¤¦¤Ã¤È¤ª¤·¤¤<br>¤Î¤Ï¡¢¾ï¤ËÎã³°¤òcatch¤¹¤ë¤«throws¤¹¤ë¤«¤òÌÀ¼¨¤¹¤ë¤³¤È<br>¤òµá¤á¤é¤ì¤ë¤¿¤á¤Ë¡¢¤½¤ì¤¬É¬ÍפǤʤ¤²Õ½ê(private¤Ê<br>¥á¥½¥Ã¥ÉÅù)¤Ë¤ª¤¤¤Æ¤âthrowsÀë¸À¤ò¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤<br>¤³¤È¤Ç¤¢¤ë¡¢¤È¤¤¤¦¤³¤È¤Ç¤¹¡£catch¤Ë´Ø¤·¤Æ¤ÏRuby¤Ç<br>¤¢¤í¤¦¤ÈJava¤Ç¤¢¤í¤¦¤È¡¢¤É¤Î¤ß¤ÁɬÍפʲսê¤Ç¤Ï¤·¤Ê¤±¤ì¤Ð<br>¤Ê¤é¤Ê¤¤¤Î¤Ç¡¢Java¤À¤«¤éµ½ÒÎ̤¬Áý¤¨¤ë¤È¤¤¤¦»ö¤Ï̵¤¤<br>¤Ï¤º¤Ê¤Î¤Ç¡¢¥Á¥§¥Ã¥¯Îã³°¤ÎÌäÂêÅÀ¤È¤Ï´ðËÜŪ¤Ë̵´Ø·¸<br>¤Ç¤¹¡£
Java ¤Î¥Á¥§¥Ã¥¯Îã³°¤ÎÌäÂê¤Ï¡¢À¤¤Î¥×¥í¥°¥é¥Þ¤Ë°Â°×¤Ë catch(Throwable _) { } ¤ß¤¿¤¤¤Ê¥³¡¼¥É¤ò½ñ¤«¤»¤ë¤³¤È¤À¤È»×¤¤¤Þ¤¹¡£¤½¤Î¥³¡¼¥É¤ò²þÎÉ¡¦³ÈÄ¥¤·¤¿¤È¤¡¢¿·¤¿¤ËȯÀ¸¤·¤¿Îã³°¤¬°®¤ê¤Ä¤Ö¤µ¤ì¤Æ¤ë¤³¤È¤Ëµ¤¤¬¤Ä¤«¤Ê¤¯¤ÆÂ纮Íð¤Ç¤¹¡£<br>¤È¤Ï¤¤¤¨¥Á¥§¥Ã¥¯Îã³°¤ÈÈó¥Á¥§¥Ã¥¯Îã³° (?) ¤Ï°ìŰìû¤Ê¤Î¤Ç¡¢ÁªÂò¤Ç¤¤¿¤é¤¤¤¤¤Î¤Ë¤Ê¤¡¤ÈÌÑÁÛ¤·¤Þ¤¹¡£½ñ¤¼Î¤Æ»þ¤ä¥×¥í¥È¥¿¥¤¥Ô¥ó¥°»þ¤ÏÈó¥Á¥§¥Ã¥¯Îã³°¤Ç¡¢ÂçÂΤǤ¤Æ¤¤Æ´°À®ÅÙ¤ò¹â¤á¤¿¤¤¤Ê¤é¥Á¥§¥Ã¥¯Îã³°¤Ç¡£
°Õ¿ÞŪ¤ËæÀþ¤·¤Þ¤¹¡£<br><br>>ÆÃ¤ËI/O¥¨¥é¡¼¤ä¥á¥â¥êÉÔ¡¢¿ôÃͱ黻Åù¤ÎÎã³°¤Ï¡£ <br><br>I/O¥¨¥é¡¼¤Ï¤È¤â¤«¤¯¤È¤·¤Æ¡¢¿ôÃͱé(ArithmeticException)¤â¤Þ¤¢¤Ê¤ó¤È¤«¤Ê¤ë¤È¤·¤Æ¡¢OutOfMemoryError¤Ã¤Æ¤¤¤Á¤¤¤Ácatch¤·¤Æ¤Æ¸½¼ÂŪ¤ËJava¥×¥í¥°¥é¥à¤¬½ñ¤±¤ë¤ó¤Ç¤·¤ç¤¦¤«¡£
>½ñ¤¼Î¤Æ»þ¤ä¥×¥í¥È¥¿¥¤¥Ô¥ó¥°»þ¤ÏÈó¥Á¥§¥Ã¥¯Îã³°¤Ç<br><br>»ä¤Ê¤é¡¢½ñ¤¼Î¤Æ»þ¤ä¥×¥í¥È¥¿¥¤¥Ô¥ó¥°»þ¤Ï<br><br>catch (Exception e) {<br> e.printStackTrace();<br> System.exit(1);<br>}<br>¤Ç¤¹¤Í¡£»à¤ó¤À¥×¥í¥°¥é¥à¤Ï±³¤ò¤Ä¤«¤Ê¤¤¤Î¤Ç¡¢¤¦¤Ã¤«¤ê¥×¥í¥È¥¿¥¤¥×¤Î¥³¡¼¥É¤¬ËÜÈÖ¤ËŬÍѤµ¤ì¤Æ¤â°Â¿´¤Ç¤¹¡£
(¤Ð)¤µ¤ó<br>>I/O¥¨¥é¡¼¤Ï¤È¤â¤«¤¯¤È¤·¤Æ¡¢¿ôÃͱé(ArithmeticException)¤â¤Þ¤¢¤Ê¤ó¤È¤«¤Ê¤ë¤È¤·¤Æ¡¢OutOfMemoryError¤Ã¤Æ¤¤¤Á¤¤¤Ácatch¤·¤Æ¤Æ¸½¼ÂŪ¤ËJava¥×¥í¥°¥é¥à¤¬½ñ¤±¤ë¤ó¤Ç¤·¤ç¤¦¤«¡£<br>http://www.javainthebox.net/laboratory/JavaSE6/heap/heap.html<br>¤Ï¡¢»²¹Í¤Ë¤Ê¤é¤Ê¤¤¤Ç¤·¤ç¤¦¤«?<br>>»à¤ó¤À¥×¥í¥°¥é¥à¤Ï±³¤ò¤Ä¤«¤Ê¤¤¤Î¤Ç¡¢¤¦¤Ã¤«¤ê¥×¥í¥È¥¿¥¤¥×¤Î¥³¡¼¥É¤¬ËÜÈÖ¤ËŬÍѤµ¤ì¤Æ¤â°Â¿´¤Ç¤¹¡£<br>ËÜÅö¤Ë°Â¿´½ÐÍè¤ë¤«¤É¤¦¤«¤Ïʬ¤«¤ê¤Þ¤»¤ó¤¬¡¢¤Ò¤¬¤¤µ¤ó¤Î¹Í¤¨Êý¤è¤ê¤Ï¡¢°Â¿´¤Ç¤¤Þ¤¹¤Í¡£
Java¤ÎException¤Ï¥¤¥ó¥¿¥Õ¥§¡¼¥¹¼ÂÁõ¤ÎºÝ¤Ë¤Á¤ç¤Ã¤È¥¦¥¶¥¤¤Ç¤¹¡£<br>¼ÂÁõ¸µ¤¬void p()¤À¤È¤¹¤ë¤È¡¢¼ÂÁõ¤È¤·¤Ævoid p() throws ~~¤Ïµö¤µ¤ì¤Ê¤¤¤Î¤Ç¤¹¡£<br>¹Í¤¨ÊýŪ¤Ë¤Ï¡¢Åꤲ¤ëÎã³°¤Î¼ïÎà¤â´Þ¤á¤Æ¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹¼ÂÁõ¤È¹Í¤¨¤¿¤é¤ï¤«¤ê¤ä¤¹¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£<br><br># °ìÊý@Override¥¢¥Î¥Æ¡¼¥·¥ç¥ó¤Ç¤Ïthrows¤Îº¹°Û¤Ïµö¤µ¤ì¤Æ¤¤¤¿¤ê¡£
> ¼ÂÁõ¸µ¤¬void p()¤À¤È¤¹¤ë¤È¡¢¼ÂÁõ¤È¤·¤Ævoid p() throws ~~¤Ïµö¤µ¤ì¤Ê¤¤¤Î¤Ç¤¹¡£ <br><br>throws¤¬¥á¥½¥Ã¥É¤Î*»ÅÍͤÎ*°ìÉô¤Ç¤¢¤ë¤³¤È¤ò¹Í¤¨¤ì¤Ð¡¢<br>¤´¤¯¼«Á³¤Ê¤³¤È¤Ç¤¹¡£¤â¤·¤½¤ì¤¬¥³¥ó¥Ñ¥¤¥ë¤òÄ̤ë¤Ê¤é¡¢<br>Î㤨¤Ð°Ê²¼¤Î¤è¤¦¤Ê¥³¡¼¥É¤Ç¡¢A#p¤¬¼ÂºÝ¤Ë¤ÏIOException<br>¤òÅꤲ¤ë¤Î¤Ë¡¢¤½¤ì¤ò¥³¥ó¥Ñ¥¤¥é¦¤Ç¸¡½Ð¤¹¤ë¤³¤È¤¬¤Ç¤<br>¤Þ¤»¤ó¡£<br><br>interface A {<br> void p();<br>}<br><br>class B implements A {<br> public void p() throws IOException { ... }<br>}
Êä¤Ǥ¹¤¬¡¢¤³¤ì¤Ï¤½¤â¤½¤â¥¤¥ó¥¿¥Õ¥§¡¼¥¹¼ÂÁõ¤Î¤È¤¤Ë<br>¸Â¤Ã¤¿ÏäǤϤʤ¯¡¢¥¯¥é¥¹·Ñ¾µ¤Î¾ì¹ç¤âÁ´¤¯Æ±¤¸¤Ç¤¹¡£<br><br>#@Override¥¢¥Î¥Æ¡¼¥·¥ç¥ó¤ÏÁ´¤¯´Ø·¸Ìµ¤¤¤È»×¤¤¤Þ¤¹¡£<br>#@Override¥¢¥Î¥Æ¡¼¥·¥ç¥ó¤ò¤Ä¤±¤è¤¦¤¬¤Ä¤±¤Þ¤¤¤¬¡¢<br>#·Ñ¾µ»þ¤Ëthrows¤ÇÅꤲ¤ëÎã³°¤Î¼ïÎà¤òÁý¤ä¤¹¤È¥³¥ó¥Ñ¥¤¥ë<br>#¥¨¥é¡¼¤Ë¤Ê¤ë¤Ï¤º¤Ç¤¹¡£
¸µ¿¦¶È¥×¥í¥°¥é¥Þ¤µ¤ó¡§<br>>http://www.javainthebox.net/laboratory/JavaSE6/heap/heap.html <br>>¤Ï¡¢»²¹Í¤Ë¤Ê¤é¤Ê¤¤¤Ç¤·¤ç¤¦¤«? <br>¤Ê¤ê¤Þ¤»¤ó¡£¤³¤ÎÏäϤޤµ¤Ë¡Ö¤Ò¤¬¤¤µ¤ó¥¢¥×¥í¡¼¥Á¡×¤Ç¤¢¤ê¡¢Âнè¤Ç¤¤ë¾ì½ê(¸Æ¤Ó½Ð¤·³¬ÁؤǾå¤ÎÊý)¤ÇOutOfMemory¤òÊá¤Þ¤¨¤ëÏ两ã¤Ê¤¤¤Ç¤¹¤«¡£<br>¸µ¿¦¶È¥×¥í¥°¥é¥Þ¤µ¤ó¤¬¿ä¾©¤¹¤ë¡ÖÎã³°¤Ã¤ÆÈ¯À¸¤·¤¿¤é¨ºÂ¤ËÊä¡פȤ¤¤¦¥¢¥×¥í¡¼¥Á¤Ê¤é¡¢¤É¤³¤ÇÎã³°¤¬È¯À¸¤·¤¿¤«¤ÏÌÀÇò¤Ê¤Î¤Ç¡¢¥¹¥¿¥Ã¥¯¥È¥ì¡¼¥¹¤¬¼è¤ì¤ë¤«¤É¤¦¤«¤ÏÌäÂê¤Ë¤Ê¤é¤Ê¤¤¤Ï¤º¤Ç¤¹¡£
(¤Ð)¤µ¤ó<br>ʬ¤«¤ê¤Å¤é¤«¤Ã¤¿¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¢»ä¤ÏÀè¤Îȯ¸À¤Ç¤Ï¡¢°Ê²¼¤ÎÆó¤Ä¤Î´ØÏ¢¤Ï¤¢¤ë¤¬ÆÈΩ¤·¤¿ÆâÍÆ¤Ë¤Ä¤¤¤Æ¥³¥á¥ó¥È¤ò¹Ô¤ï¤»¤Æ¤¤¤¿¤À¤¤¤Æ¤ª¤ê¤Þ¤¹¡£<br>¤´ÊÖÅú¤Ï¡¢¤³¤Î»ö¤ò¤´Íý²ò¤¤¤¿¤À¤¤¤¿¾å¤Ç¤Î¤â¤Î¤Ç¤·¤ç¤¦¤«?<br><br>¡>I/O¥¨¥é¡¼¤Ï¤È¤â¤«¤¯¤È¤·¤Æ¡¢¿ôÃͱé(ArithmeticException)¤â¤Þ¤¢¤Ê¤ó¤È¤«¤Ê¤ë¤È¤·¤Æ¡¢OutOfMemoryError¤Ã¤Æ¤¤¤Á¤¤¤Ácatch¤·¤Æ¤Æ¸½¼ÂŪ¤ËJava¥×¥í¥°¥é¥à¤¬½ñ¤±¤ë¤ó¤Ç¤·¤ç¤¦¤«¡£<br><br>¢>»à¤ó¤À¥×¥í¥°¥é¥à¤Ï±³¤ò¤Ä¤«¤Ê¤¤¤Î¤Ç¡¢¤¦¤Ã¤«¤ê¥×¥í¥È¥¿¥¤¥×¤Î¥³¡¼¥É¤¬ËÜÈÖ¤ËŬÍѤµ¤ì¤Æ¤â°Â¿´¤Ç¤¹¡£<br><br>ÏäÏÊѤï¤ê¤Þ¤¹¤¬¡¢<br>>¸µ¿¦¶È¥×¥í¥°¥é¥Þ¤µ¤ó¤¬¿ä¾©¤¹¤ë¡ÖÎã³°¤Ã¤ÆÈ¯À¸¤·¤¿¤é¨ºÂ¤ËÊä¡פȤ¤¤¦¥¢¥×¥í¡¼¥Á¤Ê¤é¡¢¤É¤³¤ÇÎã³°¤¬È¯À¸¤·¤¿¤«¤ÏÌÀÇò¤Ê¤Î¤Ç¡¢¥¹¥¿¥Ã¥¯¥È¥ì¡¼¥¹¤¬¼è¤ì¤ë¤«¤É¤¦¤«¤ÏÌäÂê¤Ë¤Ê¤é¤Ê¤¤¤Ï¤º¤Ç¤¹¡£<br>¥×¥í¥°¥é¥à¤Î¥Ç¥Ð¥Ã¥°¸úΨ¤ä»î¸³¸úΨ¡¢ÊݼéÀ¤ò¾å¤²¤ë»ö¤ò¹Í¤¨¤ì¤Ð¡¢ÌäÂê¤Ë¤Ê¤ë¤È»×¤Ã¤Æ¤¤¤Þ¤¹¡£<br>»ä¤Ï¡¢¼ç¤ËC¸À¸ì¤Ç¤ÎÏ䷤Ǥ¹¤¬¡¢¾¯¤Ê¤¤¥³¡¼¥ÉÄɲäǡ¢¤¤¤«¤Ë¤³¤Î»ö¤ò¼Â¸½¤¹¤ë¤Î¤«¤È¤¤¤¦»ö¤Ë¤Ä¤¤¤Æ¡¢Ä¹Ç¯Ï«ÎϤòÈñ¤ä¤·¤ÆÍè¤Þ¤·¤¿¡£
D¸À¸ì¤ÎÎãÃÖ¤¤¤Æ¤ª¤¤Þ¤¹¤Í¡£<br><br>import std.stream;<br>string readData(string file, string default_value) {<br> auto data = default_value;<br> try {<br> auto _in = new File(file);<br> scope(exit)_in.close();<br> data = _in.readLine();<br> }<br> catch(StreamException e) {}<br> return data;<br>}
n¤µ¤ó<br>¤ä¤Ï¤êD¸À¸ì¤Ï¥¹¥Ã¥¥ê¤·¤Æ¤¤¤Þ¤¹¤Í¡£<br>C++¤ÎÎã¤â¤¢¤ë¤È´ò¤·¤¤¤Î¤Ç¤¹¤¬¡£<br>¤È¤³¤í¤ÇHaskell¤Ç¤Ï¡¢Îã³°¤ÎÊä¤Ϥɤ¦¤ä¤ë¤Î¤Ç¤·¤ç¤¦¤«¤Í¡£
¸µ¿¦¶È¥×¥í¥°¥é¥Þ¤µ¤ó¡§<br>>¤´ÊÖÅú¤Ï¡¢¤³¤Î»ö¤ò¤´Íý²ò¤¤¤¿¤À¤¤¤¿¾å¤Ç¤Î¤â¤Î¤Ç¤·¤ç¤¦¤«? <br>¤½¤Î¤Ä¤â¤ê¤Ç¤¹¡£<br>¤ï¤«¤é¤Ê¤¯¤Ê¤Ã¤Æ¤¤¿¤Î¤Ç¤¹¤¬¡¢¡Ö¸µ¿¦¶È¥×¥í¥°¥é¥Þ¡×¤µ¤ó¤¬¿ä¾©¤¹¤ë¥¢¥×¥í¡¼¥Á¤Ç¤Ï¡¢OutOfMemoryError¤ò¤É¤¦°·¤¦¤Î¤Ç¤·¤ç¤¦¤«¡£<br>(1)¤Ò¤È¤Ä¤Ò¤È¤Ä¤Înew¤òÁ´Éôtry catch¤Ç°Ï¤à?<br>(2)¤¢¤ë¤¤¤Ï¡¢¤»¤á¤Æ¥á¥½¥Ã¥É¤´¤È¤ËÊ䤹¤ë?
>¤ï¤«¤é¤Ê¤¯¤Ê¤Ã¤Æ¤¤¿¤Î¤Ç¤¹¤¬¡¢¡Ö¸µ¿¦¶È¥×¥í¥°¥é¥Þ¡×¤µ¤ó¤¬¿ä¾©¤¹¤ë¥¢¥×¥í¡¼¥Á¤Ç¤Ï¡¢OutOfMemoryError¤ò¤É¤¦°·¤¦¤Î¤Ç¤·¤ç¤¦¤«¡£<br>ÆÃ¼ì¤Ê¥×¥í¥°¥é¥à¤Ç̵¤¤¸Â¤ê¡¢(1)¤È¤¤¤¦ÁªÂò¤Ï̵¤¤¤È»×¤¤¤Þ¤¹¡£<br>¸å¤Ï¾õ¶·¼¡Â褫¤È»×¤¤¤Þ¤¹¡£
RMS¤ÎÏᣤ½¤Îµ»ö¤òÀè¤Þ¤ÇÆÉ¤ó¤Ç¤¤¤¯¤ÈÈà¤Ï¥¢¥¹¥Ú¥ë¥¬¡¼¡Ê¹âµ¡Ç½¼«Êľɡˤʤó¤À¤è¤È½ñ¤¤¤Æ¤¢¤ê¤Þ¤¹¡£¤½¤Î΢ÉÕ¤±¤Ï¡©¤È¤â»×¤¤¤Þ¤¹¤¬¡¢¤½¤ÎÏÃÂê¡Êɵ¤¤Î¤³¤È¡Ë¤Ë¿¨¤ì¤Æ¤¤¤ë¥Í¥Ã¥È¾å¤Îµ»ö¤Ï°ì¤Ä¤À¤±¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£¼«ÊľɴØÏ¢¤Î½ñÀҤΥڡ¼¥¸¤Ë¤â¸½¤ì¤Þ¤¹¤·¡¢¤½¤ì¤Ï¿®ØáÀ¤Î¹â¤¤¤³¤È¤Ê¤Î¤Ç¤·¤ç¤¦¡£<br>¤À¤È¤¹¤ë¤È RMS ¤Î¥¨¥¥»¥ó¥È¥ê¥Ã¥¯¤ÊÌ̤âÍý²ò¤Ç¤¤ë¤è¤¦¤Êµ¤¤¬¤·¤Þ¤¹¡£Æ±»þ¤ËËܿͤ¬Êú¤¨¤ëº¤Æñ¤µ¤â¡£¤â¤Á¤í¤ó¤³¤Î¤³¤È¤Ï¥½¥Õ¥È¥¦¥§¥¢¤ÎÀ¤³¦¤Ë¤ª¤±¤ë RMS ¤Î²ÁÃͤò¸º¤¸¤ë¤â¤Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡£
(¤Ð)¤µ¤ó<br>>¤ï¤«¤é¤Ê¤¯¤Ê¤Ã¤Æ¤¤¿¤Î¤Ç¤¹¤¬¡¢¡Ö¸µ¿¦¶È¥×¥í¥°¥é¥Þ¡×¤µ¤ó¤¬¿ä¾©¤¹¤ë¥¢¥×¥í¡¼¥Á¤Ç¤Ï¡¢OutOfMemoryError¤ò¤É¤¦°·¤¦¤Î¤Ç¤·¤ç¤¦¤«¡£<br>»ä¤Î¹Í¤¨¤ò¤ªÊ¬¤«¤ê¤¤¤¿¤À¤±¤Þ¤·¤¿¤Ç¤·¤ç¤¦¤«?