[erlang-questions] syntax errror on :
Roelof Wobben
r.wobben@REDACTED
Sat Aug 8 13:03:05 CEST 2015
Hello,
I try to find a solution for this etude :
http://chimera.labs.oreilly.com/books/1234000000726/ch05.html#CH05-ET01
So far I have this :
%% @author Roelof Wobben <r.wobben@REDACTED>
%% @doc Function to calculate the area of a rectangle
%% @reference from <a href=
"http://shop.oreilly.com/product/0636920025818.do" >Introducing Erlang</a>,
%% O'Reilly Media, Inc., 2012.
%% @copyright 2012 by R.WObben
%% @version 0.1
-module(geom51).
-export([area/0]).
%% @doc ask the user for which shape the area
%% must be calculated.
%% Choices are :
%% c or a C for a circle
%% e or a E for a ellipse
%% t or a T for a triangle
-spec(area() -> char() ).
area() ->
io:format("Which shape must the area be calculated?~n"),
io:format(" R. Rectangle ~n"),
io:format(" T. Triangle~n"),
io:format(" E. Ellipse~n"),
Answer = io:get_line("Your choice? "),
Value = hd(Answer),
char_to_shape(Value).
%% @doc convert the choice to a Shape and send the
%5 data to the dimension function
%% when the choice is a :
%% r or a R then the shape will be a rectangle
%% t or a T then the shape will be a triangle
%% e or a E then the shape will be a ellipse
-spec(char_to_shape(char() ) -> atom() ).
char_to_shape(Char) ->
case Char of
$R -> get_dimension(rectangle);
$T -> triangle;
$E -> ellipse;
$r -> rectangle;
$t -> triangle;
$e -> ellipse;
_Else -> "Wrong Shape"
end.
-spec(get_dimension( atom() ) -> number() ) .
%% @doc Calculates the area of a shape, given the
%% shape and two of the dimensions. Returns the product
%% of its arguments for a rectangle, one half the
%% product of the arguments for a triangle, and
%% math:pi times the product of the arguments for
%% an ellipse.
get_dimension(Shape)->
case Shape of
rectangle ->
Answer1 = io:get_line("What is the length of the
rectangle? "),
{Test, _} = string:to_float(Answer1),
case Test of
error -> Test2 = string:to_integer(Answer1),
case Test2 of
error -> io:write("the input schould be a
number");
_Else -> Test2 = Test
end
end
end
but now I see these error message :
geom51.erl:72: syntax error before:
geom51.erl:42: function get_dimension/1 undefined
geom51.erl:51: spec for undefined function geom51:get_dimension/1
geom51.erl:72: syntax error before:
geom51.erl:42: function get_dimension/1 undefined
geom51.erl:51: spec for undefined function geom51:get_dimension/1
anyone who knows how to solve this one ?
Roelof
---
Dit e-mailbericht is gecontroleerd op virussen met Avast antivirussoftware.
https://www.avast.com/antivirus
More information about the erlang-questions
mailing list