[erlang-questions] variable unbound

Dale Harvey harveyd@REDACTED
Thu Apr 2 15:08:07 CEST 2009


S is defined in the context of that function call, you then
do log_message(), and in the new function call S does
not exist, it needs to be passed in

2009/4/2 Gamoto <gamoto@REDACTED>

>  I don't understand. After the reception of the filename the variable S is
> defined !
> I could understand a run-time error if I send a message before to send the
> filename !!
>
> 2009/4/2 Gamoto <gamoto@REDACTED>
>
>> What is wrong in this function ? I receive the following error: variable
>> 'S' is unbound !
>> I also receive two warnings: File is unused, S is unused.
>> This process can receive two messages: one file to open and one message to
>> write
>>
>> Pid ! {open,"filetoopen.txt"}
>>
>> Pid ! {data, Message}
>>
>> log_message()->
>>    receive
>>                {open,File} -> case file:open("File", [append]) of
>>                                                        {ok,S} ->
>>  log_message();
>>                                    {error,Reason} -> io:format(
>> "~s~n",[Reason])
>>                                    end;
>>                {data,Data} ->  io:format(S,"~s~n",[Data]),
>>                                                  log_message()
>>   end.
>
>
> - The variable File is defined in the message {file,File} you recieve but
> is never used, you open the file "File".
>
> - The variable S is defined when you receive the {open,File} message, but
> you wish to use it when you receive the {data,Data} message where it is not
> defined.
>
> Robert
>
>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://www.erlang.org/mailman/listinfo/erlang-questions
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20090402/f8b4d815/attachment.htm>


More information about the erlang-questions mailing list