ネギ式

適当に生きるおっさんのブログ

イケてるプログラミングをしようとしたら面倒くさくなった。

多項式因数分解の件。

まず整数係数多項式のクラスを作った。ちょっとイケてる風にイミュータブルにした。つまり、足し算をしても元のオブジェクトは変化しないで新しいオブジェクトを作るのである。超ってほどでもないけど少しイケてる

それから、因数分解の次の段階で必要になるので、何か(素数とか)で割った余りを係数にする多項式のクラスを作ろうと思った。多項式の次数とかは整数係数と同じなので、整数係数多項式のサブクラスにしてみた。何で割った余りなのか分かるように割る数も持っておく。

足し算をする部分(メソッド)を作っている時に、すごく無駄なことをしていると気付いた。整数係数で足し算をして、それから各係数を指定の数で割った余りにすればいいだけなんだけど、整数係数の足し算で作ったオブジェクトをすぐに捨てて新しいオブジェクトを作るのが無駄である。いや、イミュータブルって無駄を気にしたらいけないのだが、気になってしまったので仕方がない。古い人間がイケてる風なことをしようとしても無理なのだ。

気になったものは仕方がないので、全部作り直しすることに。考えただけでも面倒くさくなってしばらく止まっていた。しかし、なんとか割った余りを係数にする多項式のクラスまで出来たぞ。

イミュータブル

イミュータブル

Amazon

 

ad2217.hatenablog.com