[erlang-questions] how do I make print_area work

Garrett Smith g@REDACTED
Sun Aug 9 18:16:57 CEST 2015


Roelof, we've all been there before. Here's the thing though - what
you're facing is stuff that's covered in the first few pages of every
Erlang book written. I suggest you spend some quality time there and
get familiar with some basics before posting questions here. If you
get stuck on anything, or course ask away. Surely you've seen by now
how much effort the folks here put into helping people learn Erlang.

I'm also very happy to help you - feel free to send me a question when
you run into an issue - you have my email!

On Sun, Aug 9, 2015 at 11:12 AM, Roelof Wobben <r.wobben@REDACTED> wrote:
> At first sight that print_area is not in the export.
> But even then the sentence "the area is " is not printed.
>
> And sorry for beging a rookie who tries very hard to learn erlang.
>
> Roelof
>
>
>
> Op 9-8-2015 om 18:05 schreef Garrett Smith:
>
>> Roelof, these questions are very basic and you're running the risk of
>> getting some RTFM responses.
>>
>> Take a look at the current source:
>>
>> https://gist.github.com/gar1t/7bb80d728f804554ac32
>>
>> What's different there?
>>
>> On Sun, Aug 9, 2015 at 11:02 AM, Roelof Wobben <r.wobben@REDACTED> wrote:
>>>
>>> Hello,
>>>
>>> I have this code from another topic on this list.
>>>
>>> %% @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(ask_area).
>>>
>>> -export([area/0]).
>>>
>>> print_area() ->
>>>      try area() of
>>>          Area -> io:format("The area is ~p~n", [Area])
>>>      catch
>>>          error:Err -> io:format("~s~n", [error_msg(Err)])
>>>      end.
>>>
>>> area() ->
>>>      Shape = shape_from_user(),
>>>      {X, Y} = dimensions_from_user(Shape),
>>>      geom:area(Shape, X, Y).
>>>
>>> shape_from_user() ->
>>>      Prompt = "R)ectangle, T)riangle, or E)llipse > ",
>>>      char_to_shape(prompt_user(Prompt)).
>>>
>>> prompt_user(Prompt) ->
>>>      strip_lf(io:get_line(Prompt)).
>>>
>>> strip_lf(Str) ->
>>>      string:strip(Str, right, $\n).
>>>
>>> char_to_shape("R") -> rectangle;
>>> char_to_shape("r") -> rectangle;
>>> char_to_shape("T") -> triangle;
>>> char_to_shape("t") -> triangle;
>>> char_to_shape("E") -> ellipse;
>>> char_to_shape("e") -> ellipse;
>>> char_to_shape(_)   -> error(bad_shape).
>>>
>>> dimensions_from_user(rectangle) ->
>>>      numbers_from_user("width", "height");
>>> dimensions_from_user(triangle) ->
>>>      numbers_from_user("base", "height");
>>> dimensions_from_user(ellipse) ->
>>>      numbers_from_user("major axis", "minor axis").
>>>
>>> numbers_from_user(XPrompt, YPrompt) ->
>>>      X = number_from_user(XPrompt),
>>>      Y = number_from_user(YPrompt),
>>>      {X, Y}.
>>>
>>> number_from_user(Name) ->
>>>      Prompt = ["Enter ", Name, " > "],
>>>      to_positive_number(prompt_user(Prompt)).
>>>
>>> to_positive_number(Prompt) ->
>>>      positive_number(to_number(Prompt)).
>>>
>>> positive_number(N) when N > 0 -> N;
>>> positive_number(_) -> error(bad_number).
>>>
>>> to_number(Str) ->
>>>      try_number([fun list_to_float/1, fun list_to_integer/1], Str).
>>>
>>> try_number([Method|Rest], Arg) ->
>>>      try
>>>          Method(Arg)
>>>      catch
>>>          error:badarg -> try_number(Rest, Arg)
>>>      end;
>>> try_number([], _Arg) ->
>>>      error(bad_number).
>>>
>>> error_msg(bad_shape)  -> "Please enter a valid shape";
>>> error_msg(bad_number) -> "Please enter a positive number".
>>>
>>>
>>> How can I make it work so print_area is used ?
>>>
>>> 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
>
>
>
> ---
> 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



More information about the erlang-questions mailing list