[#2026] Re: [ruby-list:7298] Re: cmp operator — NAGAI Hidetoshi <nagai@...>

永井@知能.九工大です.

73 messages 1998/04/02
[#2031] Re: [ruby-list:7298] Re: cmp operator — Tadayoshi Funaba <tadf@...> 1998/04/02

ふなばです。

[#2032] Re: [ruby-list:7298] Re: cmp operator — NAGAI Hidetoshi <nagai@...> 1998/04/03

永井@知能.九工大です.

[#2058] Re: [ruby-list:7298] Re: cmp operator — Tadayoshi Funaba <tadf@...> 1998/04/03

ふなばです。

[#2065] Re: [ruby-list:7298] Re: cmp operator — NAGAI Hidetoshi <nagai@...> 1998/04/06

永井@知能.九工大です.

[#2095] Re: [ruby-list:7298] Re: cmp operator — Tadayoshi Funaba <tadf@...> 1998/04/06

ふなばです。

[#2101] Re: [ruby-list:7298] Re: cmp operator — keiju@... (石塚圭樹 ) 1998/04/06

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

[#2109] Re: [ruby-list:7298] Re: cmp operator — matz@... (Yukihiro Matsumoto) 1998/04/07

まつもと ゆきひろです

[#2119] Re: [ruby-list:7298] Re: cmp operator — keiju@... (石塚圭樹 ) 1998/04/07

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

[#2123] Re: [ruby-list:7298] Re: cmp operator — matz@... (Yukihiro Matsumoto) 1998/04/07

まつもと ゆきひろです

[#2124] Re: [ruby-list:7298] Re: cmp operator — keiju@... (石塚圭樹 ) 1998/04/07

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

[#2125] Re: [ruby-list:7298] Re: cmp operator — keiju@... (石塚圭樹 ) 1998/04/07

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

[#2128] Re: [ruby-list:7298] Re: cmp operator — matz@... (Yukihiro Matsumoto) 1998/04/07

まつもと ゆきひろです

[#2136] Re: [ruby-list:7298] Re: cmp operator — keiju@... (石塚圭樹 ) 1998/04/07

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

[#2137] Re: [ruby-list:7298] Re: cmp operator — matz@... (Yukihiro Matsumoto) 1998/04/07

まつもと ゆきひろです

[#2139] Re: [ruby-list:7298] Re: cmp operator — keiju@... (石塚圭樹 ) 1998/04/07

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

[#2104] Re: [ruby-list:7298] Re: cmp operator — NAGAI Hidetoshi <nagai@...> 1998/04/07

永井@知能.九工大です.

[#2165] Re: [ruby-list:7298] Re: cmp operator — Tadayoshi Funaba <tadf@...> 1998/04/07

ふなばです。

[#2177] Re: [ruby-list:7298] Re: cmp operator — NAGAI Hidetoshi <nagai@...> 1998/04/08

永井@知能.九工大です.

[#2063] [?] eval "def foo3;end" of instance_eval("binding") — keiju@... (Keiju ISHITSUKA)

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

20 messages 1998/04/05
[#2072] Re: [?] eval "def foo3;end" of instance_eval("binding") — matz@... (Yukihiro Matsumoto) 1998/04/06

まつもと ゆきひろです

[#2075] Re: [?] eval "def foo3;end" of instance_eval("binding") — keiju@... (石塚圭樹 ) 1998/04/06

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

[#2078] Re: [?] eval "def foo3;end" of instance_eval("binding") — matz@... (Yukihiro Matsumoto) 1998/04/06

まつもと ゆきひろです

[#2081] Re: [?] eval "def foo3;end" of instance_eval("binding") — keiju@... (石塚圭樹 ) 1998/04/06

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

[#2084] Re: [?] eval "def foo3;end" of instance_eval("binding") — matz@... (Yukihiro Matsumoto) 1998/04/06

まつもと ゆきひろです

[#2086] Re: [?] eval "def foo3;end" of instance_eval("binding") — keiju@... (石塚圭樹 ) 1998/04/06

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

[#2087] private singleton_methods (Re: [?] eval "def foo3;end" of instance_eval("binding")) — matz@... (Yukihiro Matsumoto) 1998/04/06

まつもと ゆきひろです

[#2089] Re: private singleton_methods (Re: [?] eval "def foo3;end" of instance_eval("binding")) — keiju@... (石塚圭樹 ) 1998/04/06

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

[#2090] Re: private singleton_methods (Re: [?] eval "def foo3;end" of instance_eval("binding")) — matz@... (Yukihiro Matsumoto) 1998/04/06

まつもと ゆきひろです

[#2092] Re: private singleton_methods (Re: [?] eval "def foo3;end" of instance_eval("binding")) — keiju@... (石塚圭樹 ) 1998/04/06

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

[#2152] Re: experimental release 1.1b9_07 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

20 messages 1998/04/07
[#2157] Re: experimental release 1.1b9_07 — WATANABE Hirofumi <watanabe@...> 1998/04/07

わたなべです.

[#2159] experimental release 1.1b9_08 — matz@... (Yukihiro Matsumoto) 1998/04/07

まつもと ゆきひろです

[#2154] @xxx = xxx in initialize — Kazunori NISHI <kazunori@...>

西@九大です。

16 messages 1998/04/07
[#2171] Re: @xxx = xxx in initialize — shugo@... (Shugo Maeda) 1998/04/07

前田です。

[#2185] Re: @xxx = xxx in initialize — Kazunori NISHI <kazunori@...> 1998/04/08

西@九大です。

[#2217] Re: [ruby-list:7406] Re: string replace — shugo@... (Shugo Maeda)

前田です。

14 messages 1998/04/09

[#2238] [Req] stack level too deep (fatal) — keiju@... (Keiju ISHITSUKA)

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

14 messages 1998/04/11
[#2266] Re: [Req] stack level too deep (fatal) — matz@... (Yukihiro Matsumoto) 1998/04/13

まつもと ゆきひろです

[#2274] Re: [Req] stack level too deep (fatal) — keiju@... (石塚圭樹 ) 1998/04/13

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

[#2277] Re: [Req] stack level too deep (fatal) — matz@... (Yukihiro Matsumoto) 1998/04/13

まつもと ゆきひろです

[#2239] [Problem] thread and signal and sleep — keiju@... (Keiju ISHITSUKA)

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

27 messages 1998/04/11
[#2272] Re: [Problem] thread and signal and sleep — matz@... (Yukihiro Matsumoto) 1998/04/13

まつもと ゆきひろです

[#2273] Re: [Problem] thread and signal and sleep — matz@... (Yukihiro Matsumoto) 1998/04/13

まつもと ゆきひろです

[#2275] Re: [Problem] thread and signal and sleep — keiju@... (石塚圭樹 ) 1998/04/13

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

[#2278] Re: [Problem] thread and signal and sleep — matz@... (Yukihiro Matsumoto) 1998/04/13

まつもと ゆきひろです

[#2280] Re: [Problem] thread and signal and sleep — keiju@... (石塚圭樹 ) 1998/04/13

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

[#2282] Re: [Problem] thread and signal and sleep — matz@... (Yukihiro Matsumoto) 1998/04/13

まつもと ゆきひろです

[#2293] Re: [Problem] thread and signal and sleep — keiju@... (石塚圭樹 ) 1998/04/14

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

[#2297] Re: [Problem] thread and signal and sleep — matz@... (Yukihiro Matsumoto) 1998/04/14

まつもと ゆきひろです

[#2327] Re: [Problem] thread and signal and sleep — keiju@... (石塚圭樹 ) 1998/04/14

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

[#2331] Re: [Problem] thread and signal and sleep — matz@... (Yukihiro Matsumoto) 1998/04/15

まつもと ゆきひろです

[#2337] Re: [Problem] thread and signal and sleep — keiju@... (石塚圭樹 ) 1998/04/15

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

[#2344] Re: [Problem] thread and signal and sleep — matz@... (Yukihiro Matsumoto) 1998/04/15

まつもと ゆきひろです

[#2347] Re: [Problem] thread and signal and sleep — keiju@... (石塚圭樹 ) 1998/04/15

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

[#2338] readline — Masao Kanemitsu <masao-k@...>

16 messages 1998/04/15

[#2378] experimental release 1.1b9_11 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

24 messages 1998/04/16

[#2407] [Bug or Spec?] extend and include — keiju@... (Keiju ISHITSUKA)

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

16 messages 1998/04/17
[#2408] Re: [Bug or Spec?] extend and include — matz@... (Yukihiro Matsumoto) 1998/04/17

まつもと ゆきひろです

[#2409] Re: [Bug or Spec?] extend and include — keiju@... (石塚圭樹 ) 1998/04/17

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

[#2410] Re: [Bug or Spec?] extend and include — matz@... (Yukihiro Matsumoto) 1998/04/17

まつもと ゆきひろです

[#2411] Re: [Bug or Spec?] extend and include — keiju@... (石塚圭樹 ) 1998/04/17

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

[#2465] — Inaba Hiroto <inaba@...>

以下は仕様なのでしょうか?

18 messages 1998/04/21
[#2469] Re: — matz@... (Yukihiro Matsumoto) 1998/04/22

まつもと ゆきひろです

[#2473] iterator variable (Re: Re: ) — Inaba Hiroto <inaba@...> 1998/04/22

イテレータ変数という言いかたがわからなくて, Subjectは後でつけようと思っ

[#2472] undef HAVE_RANDOM in case of Linux (with libc5) — Kazunori NISHI <kazunori@...>

西@九大です。

20 messages 1998/04/22
[#2479] Re: undef HAVE_RANDOM in case of Linux (with libc5) — matz@... (Yukihiro Matsumoto) 1998/04/23

まつもと ゆきひろです

[#2483] Re: undef HAVE_RANDOM in case of Linux (with libc5) — WATANABE Hirofumi <watanabe@...> 1998/04/23

わたなべです.

[#2484] Re: undef HAVE_RANDOM in case of Linux (with libc5) — WATANABE Hirofumi <watanabe@...> 1998/04/23

わたなべです.

[#2485] Re: undef HAVE_RANDOM in case of Linux (with libc5) — matz@... (Yukihiro Matsumoto) 1998/04/23

まつもと ゆきひろです

[#2486] Re: undef HAVE_RANDOM in case of Linux (with libc5) — WATANABE Hirofumi <watanabe@...> 1998/04/23

わたなべです.

[#2539] experimental release ruby 1.1b9_16 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

19 messages 1998/04/28
[#2540] Re: experimental release ruby 1.1b9_16 — Takahiro Maebashi <maebashi@...> 1998/04/28

前橋です。

[#2541] Re: experimental release ruby 1.1b9_16 — matz@... (Yukihiro Matsumoto) 1998/04/28

まつもと ゆきひろです

[#2545] Re: experimental release ruby 1.1b9_16 — NAGAI Hidetoshi <nagai@...> 1998/04/30

永井@知能.九工大です.

[#2548] Re: experimental release ruby 1.1b9_16 — matz@... (Yukihiro Matsumoto) 1998/04/30

まつもと ゆきひろです

[#2550] Re: experimental release ruby 1.1b9_16 — keiju@... (石塚圭樹 ) 1998/04/30

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

[#2551] Re: experimental release ruby 1.1b9_16 — matz@... (Yukihiro Matsumoto) 1998/04/30

まつもと ゆきひろです

[ruby-dev:2035] Re: coerce

From: keiju@... (Keiju ISHITSUKA)
Date: 1998-04-03 02:27:32 UTC
List: ruby-dev #2035
けいじゅ@日本ラショナルソフトウェアです.

In [ruby-dev :2005 ] the message: "[ruby-dev:2005] Re: coerce ", on
Mar/31 19:21(JST) Toyofuku writes:

>  豊福@パパイヤです。

>> 1. alias名の管理が面倒
>> 2. へんなaliasがNumericの下にいっぱいできてしまう.
>> ということで, 私はあまり推薦できません.
>
> alias の問題は私も coerce や modulo のプログラムで
>演算の再定義を書いていて感じました。それで、
>・上の例でいえば old_mul という名前が(C言語の static
> 関数みたいな感じで)外から見えないようにならないか。

これは, privateを使えばできますね.

>・hook みたいな仕掛けで本来の * が呼ばれる前に新規追加
>  部の * が呼ばれるようにできないか。

rubyに標準の機能としてですか? なかなか難しいんじゃないですかね...

以下のような感じでモジュールを定義することはできますけど...

aliasを自動的に定義し, 新定義の方で例外が発生したらaliasの方を呼ぶよう
にしています. ただ, 定義を文字列で渡さなくてはいけないので, そこが問題
ですね...

イテレータを使えば

  def_extention("foo", arg) do
    def foo
      ...
    end
  end

のような感じにできるんですけど, 余分なメソッドがさらに1つ増えるのが...

-- "extention.rb" --
module ExtentionMethod
  @RCS_ID='-$Id:  $-'

  class << self
    attr :pre, true
    attr :post, true
  end
  @pre = "__aliased__"
  @post = "__"

  def def_extention(method, arg, body)
    base = ExtentionMethod.pre + method.intern + ExtentionMethod.post
    ali = base
    no = 0
    while instance_methods.include?(ali)
      no += 1
      ali = base + no
    end

    module_eval "alias #{ali} #{method}
          def #{method}(#{arg})
	    begin
	      #{body}
	    rescue
	      return #{ali}(#{arg})
	    end
	  end
	  "
  end
end

irb:001:0> load "extention.rb"
true
irb:002:0> class Foo
irb:003:1>   extend ExtentionMethod
irb:004:1>   def foo(t) 
irb:005:2>     print "foo\n"
irb:006:2>   end
irb:007:1> end
nil
irb:008:0> class Foo
irb:009:1>   def_extention("foo", "t", "if t then fail 'exp' else print 'new foo\n' end")
irb:010:1> end
nil
irb:011:0> f = Foo.new
#<Foo:0x4011e018>
irb:012:0> f.foo(false)
new foo
nil
irb:013:0> f.foo(true)
foo
nil
irb:014:0> Foo.methods
irb:015:0> Foo.instance_methods
["__aliased__10817__", "foo"]
irb:016:0> class Foo
irb:017:1>  def_extention("foo", "t", "if t==0 then print 'new new foo\n' else fail 'exp' end")
irb:018:1> end
nil
irb:019:0> Foo.instance_methods
["__aliased__10817__", "foo", "__aliased__10817__1"]
irb:020:0> f.foo(0)
new new foo
nil
irb:021:0> f.foo(false)
new foo
nil
irb:022:0> f.foo(true)
foo
nil
irb:023:0> 

> 確かにそうですね。ただ Scalar の件では Numeric という
>名前を Scalar に代えただけで実質 Numeric で処理している
>ような気がしてそれなら直接 Numeric に定義した方が素直で
>はないかと思ったんです。

そうかも知れませんね(^^;;;

> それとオブジェクト指向というとレシーバができるだけ頑
>張って処理するというイメージがあって Numeric側で頑張った
>方がオブジェクト指向っぽいかなという思いもありました。

これは... この場合はメッセージ指向のオブジェクト指向の悪い点が出ている
例ですかね(^^;;;

普通は,

  receiver.method(...)

では, レシーバが頑張るものなのですが, 2項演算子の場合は, 右辺と左辺に
対象性があるのでどっちが頑張るというものでもないですしね.

>> ほしいですねえ...
>> でも, rubyでやるのは重いかなって気もするし...
>
> 気がします。でも私はガンガン使うことはないだろうから
>遅いのでもいいから欲しいです。

それもいえますね(^^;; 

>本格的に使いたくなったらC言語で拡張モジュール書いてもらって。

(^^;;;

PS.
何か話しがそれてきたなあ...

__
................................石塚 圭樹@日本ラショナルソフトェア...
----------------------------------->> e-mail: keiju@rational.com <<---

In This Thread

Prev Next