[#29170] Call for Papers Linux Conference 2001 — akira yamada / やまだあきら <akira@...>

18 messages 2001/04/10
[#30213] Re: Call for Papers Linux Conference 2001 — akira yamada / やまだあきら <akira@...> 2001/06/13

[#29190] Time Stamp Copy of File.copy — "たけ(tk)" <ggb03124@...>

 ftools.rb の move では utime を行っていて日付が同じになりますが、copy

42 messages 2001/04/11
[#29193] Re: Time Stamp Copy of File.copy — matz@... (Yukihiro Matsumoto) 2001/04/11

まつもと ゆきひろです

[#29201] Re: Time Stamp Copy of File.copy — " たけ (tk)" <ggb03124@...> 2001/04/11

たけ(tk)です。

[#29203] Re: Time Stamp Copy of File.copy — WATANABE Hirofumi <eban@...> 2001/04/11

わたなべです.

[#29212] Re: Time Stamp Copy of File.copy — Minero Aoki <aamine@...> 2001/04/12

あおきです。

[#29215] Re: Time Stamp Copy of File.copy — " たけ (tk)" <ggb03124@...> 2001/04/12

たけ(tk)です。

[#29220] Re: Time Stamp Copy of File.copy — Minero Aoki <aamine@...> 2001/04/12

あおきです。

[#29234] Re: Time Stamp Copy of File.copy — " たけ (tk)" <ggb03124@...> 2001/04/13

たけ(tk)です。

[#29236] Re: Time Stamp Copy of File.copy — matz@... (Yukihiro Matsumoto) 2001/04/13

まつもと ゆきひろです

[#29238] Array#include! — " たけ (tk)" <ggb03124@...> 2001/04/13

たけ(tk)です。

[#29244] Re: Array#include! — matz@... (Yukihiro Matsumoto) 2001/04/13

まつもと ゆきひろです

[#29348] Open3 — NISHIO Mizuho <mzh@...>

どうも西尾です。

16 messages 2001/04/20

[#29397] rnet.rb 〜高レベルネットライブラリ〜 — rubikitch <rubikitch@...>

るびきちです。

11 messages 2001/04/24

[ruby-list:29320] Re: sin(hoge) -> hoge.sin

From: Takeshi Horinouchi <horinout@...>
Date: 2001-04-18 16:09:48 UTC
List: ruby-list #29320
堀之内です。

# ruby-math だけの話でなくなって来たように思いますので、
   ruby-listにも振ります。末尾にこれまでのメール(2通)を付けておきます。

> fallbackを用意することそのものには反対しないのですが(という
> かむしろ賛成なのです)、その方法は hoge.sin で良いのだろうか
> という点について決めかねているというのが本当のところです。
> 
> もしかしたら、Guy Decouxがプロトタイプを作ったようなマルチメ
> ソッド(引数の型によって分岐するメソッド)を導入した方が良いの
> ではないかと思うところもあります。

寡聞でこれは知りませんが、勝手に推測すると、あるクラスの sin メ
ソッドを実行する関数へのポインターを Math に登録出来るような仕組
みがあって、sin にそのクラスのオブジェクトが引数として渡ってきた
場合、登録された関数を呼び出すということでしょうか。そうしないで 
math.c 作成時に対応するケースを決めてしまうと柔軟でないですし。

hoge.sin は rescue とか ruby の言葉で語りやすくて、こちらは(っ
て勝手な推測に基づいてますが) C の言葉でのほうが語りやすいです
ね。とすると、効率は後者のほうがいいということになるのでしょうか?
いずれにしても、どうやら ruby というものの今後の発展のさせ方の基
本方針に関わる選択のようですので、私がこれと勝手に決められるレベ
ルのことじゃないようですね。もう少し議論が出てきて煮詰まるのを期
待します。ひょっとして過去にもう議論が積み重ねられてて、私が知ら
ないだけかもしれませんが。

--
堀之内 武  (horinout@kurasc.kyoto-u.ac.jp)

========== 1通め ==================================================
  Subject: sin(hoge) -> hoge.sin
  From: Takeshi Horinouchi <horinout@kurasc.kyoto-u.ac.jp>
  To: ruby-math@ruby-lang.org
  Cc: horinout@kurasc.kyoto-u.ac.jp
  Date: Wed, 18 Apr 2001 21:38:30 +0900

  堀之内です。

  ベクトルや行列など、数値を要素に持つクラスを定義した場合、要素毎
  に Math の関数を適用できるようにしたいというケースは多いでしょう。
  その場合のやり方としては、メソッドにして

      x.sin       # x はベクトルなどのオブジェクト

  などと出来るようにするのが一般的だろうと思います。しかし、
  やはり sin は

      sin(x)

  と書きたくありませんか。現状では、sin(x) は x を Float にcoerce 
  して math.h の sin に渡すようになってます。coerce失敗なら例外発
  生です。そこで、もしも coerce が失敗したらそのオブジェクトの sin 
  メソッドを呼ぶという風に rescue されれば良いと思います。そのオブ
  ジェクトにsin メソッドがなければ勿論結局例外発生です。

  各ユーザーが Math の関数をそれぞれ再定義しても良いのですが、出来
  ればおおもとの math.c が上記のように変るのが良いだろうと思います。
  賛同が得られましたら(特にまつもとさんの)、試作してみたいと思い
  ます。ただ、ruby で書く場合 rescue を使って簡単に出来ますが、Cで
  書く場合にどうするのがいいのか知らないので、似たような例をご存じ
  の方は教えて頂ければ幸いです。

  --
  堀之内 武 (horinout@kurasc.kyoto-u.ac.jp)

========= 2通め ==================================================
  Subject: [ruby-math:00449] Re: sin(hoge) -> hoge.sin
  From: matz@zetabits.com (Yukihiro Matsumoto)
  To: ruby-math@ruby-lang.org
  Date: Thu, 19 Apr 2001 00:28:10 +0900

  まつもと ゆきひろです

  In message "[ruby-math:00448] sin(hoge) -> hoge.sin"
      on 01/04/18, Takeshi Horinouchi <horinout@kurasc.kyoto-u.ac.jp> writes:

  |各ユーザーが Math の関数をそれぞれ再定義しても良いのですが、出来
  |ればおおもとの math.c が上記のように変るのが良いだろうと思います。

  fallbackを用意することそのものには反対しないのですが(という
  かむしろ賛成なのです)、その方法は hoge.sin で良いのだろうか
  という点について決めかねているというのが本当のところです。

  もしかしたら、Guy Decouxがプロトタイプを作ったようなマルチメ
  ソッド(引数の型によって分岐するメソッド)を導入した方が良いの
  ではないかと思うところもあります。

  あるいは以前誰かが提案したような hoge.type.sin(hoge) とかも
  考慮の余地はありますね。

  |賛同が得られましたら(特にまつもとさんの)、試作してみたいと思い
  |ます。ただ、ruby で書く場合 rescue を使って簡単に出来ますが、Cで
  |書く場合にどうするのがいいのか知らないので、似たような例をご存じ
  |の方は教えて頂ければ幸いです。

  rb_rescue()とかrb_rescue2()とかがあります。

				  まつもと ゆきひろ /:|)

In This Thread

Prev Next