[#9437] ruby 1.1c4 released — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

17 messages 1998/09/03

[#9570] ruby-gtk-0.11 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

16 messages 1998/09/16

[#9573] filter — gotoken@... (GOTO Kentaro)

ごとけんです

34 messages 1998/09/16
[#9575] Re: filter — Shin-ichro Hara <sinara@...> 1998/09/17

原です。

[#9577] Re: filter — Shin-ichro Hara <sinara@...> 1998/09/17

原です。

[#9613] can't clone Fixnum — Kikutani Makoto <kikutani@...>

前田さんのruby-jedパッチをJed 0.98.7+J0.5.3に無理やりあてて

27 messages 1998/09/19
[#9622] Re: can't clone Fixnum — shugo@... (MAEDA Shugo) 1998/09/21

前田です。

[#9633] Re: can't clone Fixnum — Kikutani Makoto <kikutani@...> 1998/09/22

Mon, Sep 21, 1998 at 06:44:30PM +0900 において

[#9635] Re: can't clone Fixnum — matz@... (Yukihiro Matsumoto) 1998/09/22

まつもと ゆきひろです

[#9637] Re: can't clone Fixnum — Kikutani Makoto <kikutani@...> 1998/09/22

回答どうもです。

[#9640] Re: can't clone Fixnum — matz@... (Yukihiro Matsumoto) 1998/09/22

まつもと ゆきひろです

[#9647] Re: can't clone Fixnum — Kikutani Makoto <kikutani@...> 1998/09/22

Tue, Sep 22, 1998 at 01:07:22PM +0900 において

[#9650] Re: can't clone Fixnum — matz@... (Yukihiro Matsumoto) 1998/09/22

まつもと ゆきひろです

[#9626] nif.rb (ver0.14) — Wakou Aoyama <wakou@...>

青山です。

35 messages 1998/09/21
[#9628] Re: nif.rb (ver0.14) — WATANABE Tetsuya <tetsu@...> 1998/09/22

渡辺哲也です。

[#9638] Re: nif.rb (ver0.14) — SHUDOH Kazuyuki <shudoh@...> 1998/09/22

渡辺哲也さん wrote:

[#9642] Re: nif.rb (ver0.14) — Kikutani Makoto <kikutani@...> 1998/09/22

Tue, Sep 22, 1998 at 12:58:23PM +0900 において

[#9703] Re: nif.rb (ver0.14) — hisanori@... 1998/09/24

松尾です。

[#9704] Re: nif.rb (ver0.14) — matz@... (Yukihiro Matsumoto) 1998/09/24

まつもと ゆきひろです

[#9705] Re: nif.rb (ver0.14) — hisanori@... 1998/09/24

松尾です。こんばんは。

[#9706] Re: nif.rb (ver0.14) — matz@... (Yukihiro Matsumoto) 1998/09/24

まつもと ゆきひろです

[#9723] Re: nif.rb (ver0.14) — hisanori@... 1998/09/25

松尾です。こんにちは。

[#9724] pstore.rb(Re: Re: nif.rb (ver0.14)) — matz@... (Yukihiro Matsumoto) 1998/09/25

まつもと ゆきひろです

[#9670] how to create a instance dinamically using String class. — Masato Taruishi <taru@...>

18 messages 1998/09/22
[#9671] Re: how to create a instance dinamically using String class. — ttate@... 1998/09/22

立石です。

[#9677] Re: how to create a instance dinamically using String class. — keiju@... (Keiju ISHITSUKA) 1998/09/23

けいじゅ@日本ラショナルソフトウェアです.

[#9678] Re: how to create a instance dinamically using String class. — Masato Taruishi <taru@...> 1998/09/23

[#9702] [HAMATTA!] != — Shin-ichro Hara <sinara@...>

原です。

16 messages 1998/09/24

[#9770] ruby-jed SEGV — Kikutani Makoto <kikutani@...>

きくたにです。

16 messages 1998/09/29

[ruby-list:9648] Re: can't clone Fixnum

From: shugo@... (MAEDA Shugo)
Date: 1998-09-22 04:55:56 UTC
List: ruby-list #9648
前田です。

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なオブジェクトのことは気に
# ことにして...。


-- 
前田 修吾 <shugo@aianet.ne.jp>

Attachments (1)

buffer.rb.diff (522 Bytes, text/x-diff)
--- 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] = default
     eval %{
       def #{name}
 	if defined? @#{name}
 	  @#{name}
 	else
-	  begin
-	    @#{name} = DEFAULT_VALUES['#{name}'].clone
-	  rescue
-	    @#{name} = DEFAULT_VALUES['#{name}']
-	  end  
+	  @#{name} = DEFAULT_VALUES['#{name}']
 	end
       end
       

In This Thread