- Define a custom error and use it.
-
Write a
Triangle
class that accepts three arguments on initialization. Each argument is a length of one of the three sides of the triangle. -
Give your Triangles an instance method,
kind
that returns, as a symbol, its type. The valid types are:
-
:equilateral
-
:isosceles
-
:scalene
- The
kind
method should raise a custom error,TriangleError
if the triangle is invalid. Check out the hint below to understand what makes a triangle invalid. Write a custom error class,TriangleError
and inherit it fromStandardError
. This custom error class should be defined in the same file at theTriangle
class, but *outside of the class definition ofTriangle
. Like this:
# lib/triangle.rb
class Triangle
# triangle code
end
class TriangleError < StandardError
# triangle error code
end
The sum of the lengths of any two sides of a triangle always exceeds the length of the third side. This is a principle known as the triangle inequality.
Further, each side must be larger than 0.