```h.fulton / att.net writes:
> Greetings, all...

Greetings back :-)

>
> I spent several hours this week working on a class for
> complex numbers. Although it was fun and it was good
> practice, I eventually discovered that I was reinventing
> the wheel -- that this had already been done, and very
> nicely.

that is the Ruby effect, it seems. Every time I want to code something
of public interest, somebody else has already done it! ;-)

>
> I am wondering if anyone has an idea for a problem of
> a similar nature that I could work on? By "similar
> nature" I mean relatively self-contained, easily grokked
> in its entirety, but not entirely trivial or useless.

I would have an idea, but I do not know if it is a good one? So please
do not beat me!

What do you think about classes that represent and calculate formulas?
You could build a formula via e.g. parsing a string. Then you could
also offer to calculate that formula with passing arguments to
it. Something like:

f = Formula.new("sin(a)")
sa = f.calc("a"=>30)
s = f.to_s                 # ==> 'sin(a)'
s = f.to_s("a"=>30)        # ==> 'sin(30)'
...

That would not make to much sense, I agree, because Ruby has the eval
mechanism! But ... you could provide some methods, that do
numeric/symbolic integration/differentiation! Such a method could
return a new Formula instance that represents the e.g. integrated
original formula!

I have chosen that idea, because you have mentioned mathematical
problems (complex numbers, matrix). Furthermore I couldn't remember
that anyone has done that already for a interpreted programming
language!

...

> Please make delurking worthwhile for me and give me
> some suggestions...

Okay, here you are! ;-)

>
> Thanks,
> Hal Fulton
> hal9000 / hypermetrics.com

You are welcome,
\cle

BTW: Community! We really should discuss again about a list of ideas
accessible on the ruby-lang.org. There we could collect ideas, what
one think could be useful, and other could mark-up as interested in
this topic. That would prevent us from re-inventing the wheel again
and again!

--
Clemens Hintze  mailto: c.hintze / gmx.net
```