(koans) uninitialized constant TriangleError

Hello,

I have to make a exception part on triangles now.

The exercise looks like this :
[/code]
**# You need to write the triangle method in the file ‘triangle.rb’
require ‘triangle.rb’

class AboutTriangleProject2 < EdgeCase::Koan

The first assignment did not talk about how to handle errors.

Let’s handle that part now.

def test_illegal_triangles_throw_exceptions
assert_raise(TriangleError) do triangle(0, 0, 0) end
assert_raise(TriangleError) do triangle(3, 4, -5) end
assert_raise(TriangleError) do triangle(1, 1, 3) end
assert_raise(TriangleError) do triangle(2, 4, 2) end
# HINT: for tips, see

end
end
[/code]

So I looked at that page and come with this solution :

def triangle(a, b, c)

  raise TriangleError, "length cannnot be 0 or lesser" if (a <= 0) or (b 
<=
0) or (c <= 0);
  raise TriangleError, "length does not mach Pyschotorogas" if (a * a + 
b *
b != c * c);


  return :equilateral if ((a == b) and (b == c))
  return :isosceles if (((a == b) and (b != c)) or
                       ((a != b) and (b == c)) or
                       ((a == c) and (a != b)))
  return :scalene  if ((a !=b) and (b != c))
end

But now I get a uninitialized constant TriangleError

What did I do wrong now ?

Roelof

Hello,

I found this solution :

about_triangle_project.rb

and

about_triangle_project_2.rb

def triangle(a, b, c)

raise (TriangleError), “length cannnot be 0 or lesser” if (a <= 0) or
(b
<= 0) or (c <= 0);
raise (TriangleError), “length does not match Pyschotorogas” if (a * a
+
b * b != c * c);

return :equilateral if ((a == b) and (b == c))
return :isosceles if (((a == b) and (b != c)) or
((a != b) and (b == c)) or
((a == c) and (a != b)))
return :scalene if ((a !=b) and (b != c))
end

Error class used in part 2. No need to change this code.

class TriangleError < StandardError
end

But now when a error is found the script is stopped. Can anyone give me
a
hint how I can continue this script.

Roelof

Op zaterdag 22 september 2012 16:43:03 UTC+2 schreef roelof het
volgende:

  1. Very good. Now you should try to determine what “Ruby on Rails” is,
    and whether your questions have anything to do with Ruby on Rails.

  2. Read a tutorial on ruby exception handling, or better yet buy the
    book “Beginning Ruby”:

http://beginningruby.org/

and read that before trying to do the koans. All you seem to be doing
is copying other people’s code, so what good does that do you?
In fact, you know so little about ruby that you think Ruby on Rails
is ruby.