--Multipart_Tue_Sep_22_13:51:20_1998-1 Content-Type: text/plain; charset=ISO-2022-JP Á°ÅĤǤ¹¡£ In message "[ruby-list:9641] Re: can't clone Fixnum" Yukihiro Matsumoto <matz / netlab.co.jp> wrote: ||immutable¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤Î¾ì¹ç¡¢clone¤Ç¼«Ê¬¼«¿È¤òÊÖ¤·¤Æ¤â ||¤¿¤Ö¤óÌäÂê¤Ê¤¤¤Ç¤¹¤è¤Í¡£ ||¤È¤¹¤ë¤È¤·¤¿Êý¤¬Îã³° ý¤·¤Ê¤¤¤Ç¤è¤¤Ê¬ÊØÍø¤«¤Ê¡¨Â üü üü¤¿¤À¥á¥É̾¤ÈÆâÍÆ¤¬°ìÃפ·¤Ê¤¤¤Î¤¬µ¤»ý¤Á°¤¤¤Ç¤¹¤¬...¡£ | |Numeric¤Ïimmutable¤òÊݾڤ¹¤Ù¤¤À¤È¹Í¤¨¤Æ¤¤¤ë¤Î¤Ç¡¤clone¤Ï¤¨¤Â¤Î¤â¤Î¤òÊÖ¤¹¤è¤¦¤Ë¤·¤è¤¦¤«¤Ê¡¤¤ÈÇùÁ³¤È¹Í¤¨¤Æ¤¤¤¿¤ê¤·¤Þ¤¹¡¥·è |¤á¤ì¤Ð µ¤Ï¿ôÉäʤó¤Ç¤¹¤¬¡¨Â °ì±þ¡¢Fixnum¤Ï¼«Ê¬¼«¿È¤òÊÖ¤¹°Æ¤Ë°ìɼ¤Ç¤¹¡£ |¤¬¡¤¤Ï¤È¤·¤Æ¡¤¤â¤È¤â¤È¤Î¥×¥í¥°¥é¥à¤Ç̵°Ç¤Ëclone¤·¤Æ |¤¤¤ë¤Î¤âǼÆÀ¤Ç¤¤Ê¤¤¤Î¤Ç¡¤¤³¤ì¤Ï¤³¤ì¤Ç µ¤·¤¿Êý¤¬Îɤ¤¤ó¤¸¤¨Â ¤Â¤Ê¤¤¤«¤È¸À¤¦µ¤¤â¤·¤Þ¤¹¡¥ ¥Ð¥Ã¥Õ¥¡¥í¡¼¥«¥ëÊÑ¿ô¤ò°·¤Ã¤Æ¤ëÉôʬ¤Ê¤ó¤Ç¤¹¤¬¡¢¥Ç¥Õ¥©¥ë¥ÈÃÍ ¤ò¤Þ¤Þ¥»¥Ã¥È¤¹¤ë¤È¡¢Ç˲õŪ¤Ê¥á¥É¤Ç¥Ç¥Õ¥©¥ë¥ÈÃͤ¬ÊÑ ¤Ã¤Æ¤·¤Þ¤¦¤Î¤¬·ù¤À¤Ã¤¿¤ó¤Ç¤¹¡£ freeze¤ò»È¤¨¤Ð¤è¤¤¤Ç¤·¤ç¤¦¤«¡£ # freeze¤òÄêµÁ¤·¤Æ¤Ê¤¤mutable¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤Î¤³¤È¤Ïµ¤¤Ë # ¤³¤È¤Ë¤·¤Æ...¡£ --Multipart_Tue_Sep_22_13:51:20_1998-1 Content-Type: application/octet-stream; type=patch Content-Disposition: attachment; filename="buffer.rb.diff" Content-Transfer-Encoding: 7bit --- buffer.rb~ Mon Sep 21 18:32:54 1998 +++ buffer.rb Tue Sep 22 13:40:23 1998 @@ -20,17 +20,16 @@ name.type) raise TypeError, msg end + if default.respond_to?(:freeze) + default.freeze + end DEFAULT_VALUES[name] efault eval %{ def #{name} if defined? @#{name} @#{name} else - begin - @#{name} EFAULT_VALUES['#{name}'].clone - rescue - @#{name} EFAULT_VALUES['#{name}'] - end + @#{name} EFAULT_VALUES['#{name}'] end end --Multipart_Tue_Sep_22_13:51:20_1998-1 Content-Type: text/plain; charset=ISO-2022-JP -- Á°ÅÄ ¨Â ¼óèõçïÀáéáîåô®îå®êð¾ ÍõìôéðáòôßÔõåßÓåðß²²ß±³ºµ±º²°ß±¹¹¸±