児玉です.

From: Masaki Suketa<CQN02273 / nifty.ne.jp>
Subject: [ruby-list:20223] Re: class Polynomial
Date: Sat, 15 Jan 2000 16:45:03 +0900
Message-ID: <200001150745.QAA10889 / ums509.nifty.ne.jp>
...
> sample-poly.rb を試してみましたが,エラーになります.

すみません. 気に入らない部分があって,
何度もサ−バ−に置き直していたので,
壊れているのを置いたかもしれません.
お手数ですが, もう一度取ってみてもらえますか?
# 旧形式で(助田雅紀さん,石橋秀仁さんの意見を採り入れる前の)ですが.

> Polynomial が Array を継承するよりも Array オブジェクト
> を Polynomial のインスタンス変数にする方が私は良いと思います.
> 
> 理由:
>   Array を継承するのはあくまで,実装の都合であって(ですよね?)
>   Polynomial は必ずしも Array すべての振る舞いを継承する必要
>   はない.

インスタンス変数での実現が良く分からなかったっていうのが
まずあるんですが.... その先を突き詰めなかったのは,
もともと, 有限数列と母関数の対応を陽に考えていたので
Polynomial = 数列 = Array って考えたんですが
(...というのが安直ってことだけど) 気持わるいですか?
有限の話しなので, あまりありがた味は無いのですが,
多項式とも数列(配列)とも見たいわけです.

Polynomial の数列的な面を使いたい
(っていうか, 係数をじかに弄りたいとき. かな?)
どうするのが適当か, 方法と加減が良く分からないんですが?

> あと,Array に to_poly メソッドを追加するよりは,
> 
>  p1 = Polynomial.new([1,2,3,4])
>  # または p1 = Polynomial.new(1,2,3,4)
> 
> みたいな書き方ができた方が直観的で個人的に好きです.

確かにそうですね.  new はこの形式を採用.
to_poly は廃止した方が良いですか?

>  p1 = Polynomial.new(3,2)
> 
> とかは

これは, 単項式 cx^n を生成したい場合ですが,
Polynmial.term(n,c) とかでどうでしょうか?

> class Polynomial
>   def initialize(arg)
>     case arg
>     when Array
>       @array = arg
>     when Numeric
>       @array = [arg]
>     else
>       raise TypeError
>     end
>   end

ウ−ン. この方が分かりやすそう.
インスタンス変数の意味がちょっと分かった感じ....

[質問]
def + other  とかで別な多項式のインスタンス変数を
参照する場合はどうするんでしょうか?
同じことですが class Polynomial の外でも
@array を 配列として弄りたいんですが, どうやるんですか?
-- 
K.Kodama(kodama / kobe-kosen.ac.jp)