[#38470] ruby-dev summary 21403-21530 (draft) — Minero Aoki <aamine@...>

青木です。

25 messages 2003/10/07
[#38475] Re: ruby-dev summary 21403-21530 (draft) — maili31s@... (SugHimsi==SUGIHARA Hiroshi) 2003/10/07

すぎむし。

[#38480] Re: ruby-dev summary 21403-21530 (draft) — Minero Aoki <aamine@...> 2003/10/08

青木です。

[#38481] marshal_dump (was Re: ) — m_seki@... 2003/10/08

[#38484] Re: marshal_dump (was Re: ) — matz@... (Yukihiro Matsumoto) 2003/10/09

まつもと ゆきひろです

[#38486] Re: marshal_dump (was Re: ) — Masatoshi Seki <m_seki@...> 2003/10/09

咳といいます

[#38489] exit status on exit! — YANAGAWA Kazuhisa <kjana@...4lab.to>

<http://www.unixuser.org/~ysjj/diary/?200310a&to=200310082#200310082>

29 messages 2003/10/09
[#38490] Re: exit status on exit! — Koji Arai <JCA02266@...> 2003/10/09

新井です。

[#38503] Re: exit status on exit! — YANAGAWA Kazuhisa <kjana@...4lab.to> 2003/10/10

In Message-Id: <20031010.082218.74733862.JCA02266@nifty.ne.jp>

[#38505] Re: exit status on exit! — Koji Arai <JCA02266@...> 2003/10/10

新井です。

[#38507] Re: exit status on exit! — matz@... (Yukihiro Matsumoto) 2003/10/11

まつもと ゆきひろです

[#38514] Re: exit status on exit! — YANAGAWA Kazuhisa <kjana@...4lab.to> 2003/10/11

In Message-Id: <1065883639.405037.23137.nullmailer@picachu.netlab.jp>

[#38515] Re: exit status on exit! — WATANABE Hirofumi <eban@...> 2003/10/11

わたなべです。

[ruby-list:38453] Re: if 修飾子とローカル変数

From: Shin-ichiro HARA <sinara@...>
Date: 2003-10-02 09:16:09 UTC
List: ruby-list #38453
原です。

In [ruby-list:38452] TANAKA wrote:

> インスタンス変数にしたのは、コストがかかりそうなdefined?の回数を最小限
> に抑えるためです。
> #もしかしたら、defined?より!@compの評価の方が、コストがかかるのかも。

どうでしょうね。実験してみないとわからないなあ。たしかに気に
なりますけど。自分が複素ベクトルであるかどうかという情報を自
分で持つのはもっともではあります。でもそれなら、ComplexVector 
クラスを作るのが筋という気もするし、、、さしあたって

  class Vector
    def inner_product(v)
      if defined?(Complex)
        ...
      else
        ...
      end
    end
  end

でいいんじゃないかな。... 部分のコードの共有ができないのは
ちょっと残念ですが。ただこれを matrix.rb に記述してもらうの
は難しいかも。一応 Complex の事は知らないとして matrix.rb
は作られているみたいだから。

> ところで、上記のコードでは、インスタンス変数の「定義は要らない」という
> 特徴を使っているつもりだったのですが、
> comp = defined?(Complex) if !comp
> とも書けるようですね。当然、
> if !comp then comp = defined?(Complex) end
> は、エラーになりますが。
> 
> 前者では、compの初期値として、nilが与えられている、と考えてよいのでしょ
> うか。

あ、すいません。comp をローカル変数にするときは、if !comp は
取ります。この場合、実行前のスクリプトの解釈の段階で comp は
定義されてしまってるのです。『入門』の p.174 にもあります。

> P.S.
> 原さんの『Ruby プログラミング入門』には大変お世話になっています。

マイド。

> ただ、http://www.ruby-lang.org/~sinara/nyumon/ に繋がりません。別ペー
> ジに移転されたのでしょうか

サーバー更新の時に削除されました。そのうち復活させます。(^^;


In This Thread