[erlang-questions] syntax errror on :

Loïc Hoguin essen@REDACTED
Sat Aug 8 13:07:08 CEST 2015


You forgot the dot at the end of the very last function.

On 08/08/2015 01:03 PM, Roelof Wobben wrote:
> 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
>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions

-- 
Loïc Hoguin
http://ninenines.eu
Author of The Erlanger Playbook,
A book about software development using Erlang



More information about the erlang-questions mailing list