From: Ilmari H. [mailto:removed_email_address@domain.invalid] > On 1/9/07, Phrogz <removed_email_address@domain.invalid> wrote: > > In addition to the answers by others, what would you do for those math > > functions 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) *might* make > > sense--given one leg of a right triangle, how long is the hypotenuse to > > a 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

on 2007-01-09 22:38

on 2007-01-10 00:01

> Good argument. In fact, one of them is there already: > require 'matrix' > Vector[3,4].r #=> 5.0 Gavin - Just wanted to point out to you that each of your replies is creating a new thread. You might want to reply with the same subject to avoid this. Just thought you'd like to know. -Drew