[erlang-questions] Unable to call functions that are in a module in the same location

Yves S. Garret <>
Sun Aug 17 15:36:37 CEST 2014


The record in question is "constraint".  The thing is, when I call it, it
looks like this with none of the values initialized:

test() ->
  Specie_Id = test,
  Agent_Id = test,
  CloneAgent_Id = test_clone,
  SpecCon = #constraint{}, % <---- HERE IS WHERE THE FIRST INSTANCE IS
CREATED
  F = fun() ->
    construct_Agent(Specie_Id, Agent_Id, SpecCon),
    clone_Agent(Specie_Id, CloneAgent_Id),
    print(Agent_Id),
    print(CloneAgent_Id),
    delete_Agent(Agent_Id),
    delete_Agent(CloneAgent_Id)
  end,

  mnesia:transaction(F).

My question is thus, if I make a record with #constraint{}, does that mean
that all of its values are by default set to undefined or the default
values that were specified in records.hrl?




On Sat, Aug 16, 2014 at 2:35 AM, Steve Strong <> wrote:

> I'm guessing that this:
>
>   Morphology = SpecCon#constraint.morphology,
>
>
> Is setting Morphology to 'undefined' - that's what the stack trace looks
> to be saying.
>
> Cheers,
>
> Steve
>
> Sent from my iPhone
>
> On 16 Aug 2014, at 04:54, "Yves S. Garret" <>
> wrote:
>
> Hello,
>
> This is my code:
> https://gist.github.com/anonymous/5b9b2c55a7684f5386e2
>
> When I run my code inside of erlang (17.0), this is the error that I get:
> 7> genotype:create_test().
> {aborted,{undef,[{morphology,undefined,[sensors],[]},
>                  {morphology,get_InitSensors,1,
>                              [{file,"morphology.erl"},{line,8}]},
>                  {genotype,construct_Cortex,3,
>                            [{file,"genotype.erl"},{line,41}]},
>                  {genotype,construct_Agent,3,
>                            [{file,"genotype.erl"},{line,20}]},
>                  {genotype,'-create_test/0-fun-0-',0,
>                            [{file,"genotype.erl"},{line,434}]},
>
> {mnesia_tm,apply_fun,3,[{file,"mnesia_tm.erl"},{line,833}]},
>                  {mnesia_tm,execute_transaction,5,
>                             [{file,"mnesia_tm.erl"},{line,813}]},
>
> {erl_eval,do_apply,6,[{file,"erl_eval.erl"},{line,661}]}]}}
>
> genotype.erl and morphology.erl are in the directory, so why can't
> genotype's function call morphology's functions?  Or am I missing something
> else entirely?
>
> Thanks.
>
> _______________________________________________
>
> erlang-questions mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-questions
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20140817/32b46a4c/attachment.html>


More information about the erlang-questions mailing list