[#9445] thread.rb — m_seki@...

18 messages 2000/03/16
[#9446] Re: thread.rb — matz@... (Yukihiro Matsumoto) 2000/03/17

[#9460] Re: thread.rb — m_seki@... 2000/03/21

[#9462] Re: thread.rb — matz@... (Yukihiro Matsumoto) 2000/03/21

まつもと ゆきひろです

[#11281] Re: thread.rb — Masatoshi SEKI <m_seki@...> 2000/10/22

[#9498] timeout しない timeout — ARIMA Yasuhiro <fit0298@...>

有馬です。

20 messages 2000/03/26
[#9506] Re: timeout しない timeout — matz@... (Yukihiro Matsumoto) 2000/03/27

まつもと ゆきひろです

[#9509] Re: timeout しない timeout — gotoken@... (GOTO Kentaro) 2000/03/27

In message "[ruby-dev:9506] Re: timeout しない timeout"

[ruby-dev:9483] Re: Symbol#<=>

From: Koji Arai <JCA02266@...>
Date: 2000-03-24 13:24:19 UTC
List: ruby-dev #9483
新井です。

>>> From: matz@netlab.co.jp (Yukihiro Matsumoto)
>>> Date: 24 Mar 2000 18:20:03 +0900
>>> Subject: [ruby-dev:9477] Re: Symbol#<=>

> まつもと ゆきひろです

> SymbolがComparableである必然性と言うのは後方互換以外にはまっ
> たく無いように思います。必要ですか?

そです。最初、スクリプトの方を直そうと思ったんですが、*互換
性のために*比較できてもいいじゃん。と思いました。

ダメですかね?

rdtool の該当箇所のパッチもあるんですが、なんか面倒だなと思いました。
Symbolを使うのを止めるのもなんだし。。。

--- rdtool-0.6.0-pre3/rd/rdvisitor.rb.org	Mon Feb 21 23:37:37 2000
+++ rdtool-0.6.0-pre3/rd/rdvisitor.rb	Fri Mar 24 00:32:51 2000
@@ -336,10 +336,11 @@
       tree.each do |i|
 	if i.is_a?(MethodListItem)
 	  klass, kind, method, args = analize_method(i.term)
-	  indexes.push([klass, kind, method]) if kind
+	  indexes.push([klass, kind.id2name, method]) if kind
 	end
       end
       indexes.sort!
+      indexes.each {|ary| ary[1] = ary[1].intern}
     end
     module_function :make_method_index
 	  

以下のようにスクリプトで定義してもいいんですが、こっちは比較
の度に文字列オブジェクトが生成されてしまうことに気がついてし
まって。。。(^^;

class Symbol
  def <=>(other)
     self.id2name <=> other.id2name
  end
end

動機が不純でしょうか?

変数kindをfreezeしたStringオブジェクトにするとか、よりよい別
解を示してもらえれば納得するかも知れませんが、いまのところ
「Symbolが比較できれば問題なし」で気持が落ち着いてます。

# 土日は旅に出てます。
--
新井康司 (Koji Arai)

In This Thread