Hello, I now trying to solve this one : # Triangle Project Code. # Triangle analyzes the lengths of the sides of a triangle # (represented by a, b and c) and returns the type of triangle. # # It returns: # :equilateral if all sides are equal # :isosceles if exactly 2 sides are equal # :scalene if no sides are equal # # The tests for this method can be found in # about_triangle_project.rb # and # about_triangle_project_2.rb # 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) from ./about_triangle_project.rb:4 from path_to_enlightenment.rb:18:in `require' from path_to_enlightenment.rb:18 Can anyone give me a tip what I have done wrong ? Roelof
on 2012-09-21 09:13
on 2012-09-21 09:21
On Fri, Sep 21, 2012 at 5:12 PM, roelof <email@example.com> wrote: > # :equilateral if all sides are equal > return :equilateral > from ./about_triangle_project.rb:4 > from path_to_enlightenment.rb:18:in `require' > from path_to_enlightenment.rb:18 > > > Can anyone give me a tip what I have done wrong ? you're missing end(s). if you switch the positions of if and return or if you put it in one line, it should solve the error return :scalene if ((a !=b) and (b != c)) > firstname.lastname@example.org. > To view this discussion on the web visit > https://groups.google.com/d/msg/rubyonrails-talk/-.... > For more options, visit https://groups.google.com/groups/opt_out. > > > --
on 2012-09-21 16:01
Thanks, That solved my problem. Roelof Op vrijdag 21 september 2012 09:12:46 UTC+2 schreef roelof het volgende:
on 2012-09-21 19:33
On Fri, Sep 21, 2012 at 3:12 AM, roelof <email@example.com> wrote: > > /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.