From: Ilmari H. [mailto:[email protected]]

On 1/9/07, Phrogz [email protected] wrote:

In addition to the answers by others, what would you do for those

mathfunctions whose arity isn’t 1?

Math.methods(false).select{ |n| Math.method(n).arity != 1 }

#=> [“hypot”, “atan2”, “ldexp”]All three take two arguments. While 3.hypot(4)

mightmake

sense–given one leg of a right triangle, how long is the hypotenuse

toa given other leg–30.atan2( 40 ) makes little sense to me.

hypot and atan are vector methods, so [30, 40].atan2, [3,4].hypot

would be correct in the OO-sense, much like #max and #min are in Array

and not Math (compare to e.g. JavaScript where there is Math.max and

Math.min)

Good argument. In fact, one of them is there already:

require ‘matrix’

Vector[3,4].r #=> 5.0