On Fri, Sep 21, 2012 at 3:12 AM, roelof <
rwo...@hotmail.com> wrote:
> def triangle(a, b, c)
> if ((a == b) and (b == c))
> return :equilateral
> if (((a == b) and (b != c)) or ((a != b) and (b == c)))
> return :isosceles
> if ((a !=b) and (b != c))
> return :scalene
> end
>
> But I see this error message :
>
> /about_triangle_project.rb:4:in `require': ./triangle.rb:27: syntax error,
> unexpected $end, expecting kEND (SyntaxError)
Two option already given are to add some ends, or make them a series
of oneliners. But, you could also solve it by making all but the
first if, "elsif"s instead. Actually you can make the third one just
an else, since that's the only remaining option. You'll still need
one more end, though, to end the if-series.
Another way that springs to my twisted little mind, though, is to just
see how many unique lengths you have:
[:equilateral, :isosceles, :scalene][[a,b,c].uniq.length - 1]
Do NOT put something that "clever" in anything actually important, as
the lack of clarity isn't worth the conciseness. But it makes a neat
little mind-exercise. ;-)
-Dave
--
Dave Aronson, Available Secret-Cleared Ruby/Rails Freelancer (VA/DC/Remote);
see
www.DaveAronson.com,
www.Codosaur.us, and
www.Dare2XL.com for more info.