> what substantial advantage would it serve for NetLogo to be able to handle 
> ints or longs?

It would be easier to develop extensions and extension developers would not be 
confused with strange errors.

Dne úterý, 22. dubna 2014 22:22:41 UTC+2 Jason Bertsche napsal(a):
> > And why not also support other types?
> 
> 
> 
> It would require a substantial amount of resources from the NetLogo team 
> 
> in order to change this.  On the other side of things, what substantial 
> 
> advantage would it serve for NetLogo to be able to handle ints or longs?
> 
> 
> 
> On 4/22/2014 3:19 PM, [email protected] wrote:
> 
> > And why not also support other types? There is nothing lost in conversion 
> > int -> long -> double.
> 
> >
> 
> > Dne úterý, 22. dubna 2014 22:16:28 UTC+2 Jason Bertsche napsal(a):
> 
> >> NetLogo numbers must always be doubles, because much of the NetLogo
> 
> >>
> 
> >> internals assumes as much.  If that assumption isn't met, bad things
> 
> >>
> 
> >> will happen.  Fortunately, it's pretty easy to always just give NetLogo
> 
> >>
> 
> >> doubles.
> 
> >>
> 
> >>
> 
> >>
> 
> >> On 4/22/2014 3:12 PM, [email protected] wrote:
> 
> >>
> 
> >>> Hi, I' trying to pass number (int or long) from java etension as an 
> >>> argument to task but have some issues with it. I tried both int and long 
> >>> and got two different errors. When I cast the int/long into double then 
> >>> it works.
> 
> >>> long:
> 
> >>> ```java
> 
> >>> class Callbacks$Actuators{
> 
> >>>       public void attack(long id) {
> 
> >>>           attack.perform(ctx, new Object[] {id});
> 
> >>>       }
> 
> >>> }
> 
> >>> ```
> 
> >>> ```
> 
> >>> let tattack task [
> 
> >>>       let cislo int ?1
> 
> >>> ]
> 
> >>> ```
> 
> >>> ```
> 
> >>> INT expected input to be a number but got the number <Long> instead.
> 
> >>> error while zombie 85 running INT
> 
> >>>     called by (command task from: procedure SETUP)
> 
> >>>     called by procedure STEP
> 
> >>>     called by Button 'Step'
> 
> >>> ```
> 
> >>> int:
> 
> >>> ```java
> 
> >>> class Callbacks$Actuators{
> 
> >>>       public void attack(int id) {
> 
> >>>           attack.perform(ctx, new Object[] {id});
> 
> >>>       }
> 
> >>> }
> 
> >>> ```
> 
> >>> ```
> 
> >>> to step
> 
> >>>     gbui:tick
> 
> >>>     ask humans [ gbui:ai-perform ]
> 
> >>>     ask zombies [ gbui:ai-perform ]
> 
> >>>     decay
> 
> >>>     reap
> 
> >>>     tick
> 
> >>> end
> 
> >>> ```
> 
> >>> ```
> 
> >>> error (RuntimeException)
> 
> >>>    while observer running ASK
> 
> >>>     called by procedure STEP
> 
> >>>     called by Button 'Step'
> 
> >>> NetLogo is unable to supply you with more details about this error.  
> >>> Please report the problem
> 
> >>> at https://github.com/NetLogo/NetLogo/issues, or to 
> >>> [email protected], and paste the
> 
> >>> contents of this window into your report.
> 
> >>> java.lang.RuntimeException: java.lang.Integer: 7
> 
> >>>    at scala.sys.package$.error(package.scala:27)
> 
> >>>    at org.nlogo.api.Dump$.logoObject(Dump.scala:43)
> 
> >>>    at org.nlogo.api.Dump.logoObject(Dump.scala)
> 
> >>>    at 
> >>> org.nlogo.nvm.ArgumentTypeException.getMessage(ArgumentTypeException.java:47)
> 
> >>>    at 
> >>> org.nlogo.nvm.StackTraceBuilder$$anonfun$1.apply(StackTraceBuilder.scala:35)
> 
> >>>    at 
> >>> org.nlogo.nvm.StackTraceBuilder$$anonfun$1.apply(StackTraceBuilder.scala:33)
> 
> >>>    at scala.Option.map(Option.scala:133)
> 
> >>>    at org.nlogo.nvm.StackTraceBuilder$.build(StackTraceBuilder.scala:33)
> 
> >>>    at org.nlogo.nvm.StackTraceBuilder.build(StackTraceBuilder.scala)
> 
> >>>    at org.nlogo.nvm.Context.buildRuntimeErrorMessage(Context.java:349)
> 
> >>>    at 
> >>> org.nlogo.nvm.EngineException.fillInStackTrace(EngineException.java:83)
> 
> >>>    at org.nlogo.nvm.CommandTask.perform(Task.scala:87)
> 
> >>>    at org.nlogo.nvm.CommandTask.perform(Task.scala:69)
> 
> >>>    at eu.janinko.etsza.ai.Callbacks$Actuators.attack(Callbacks.java:114)
> 
> >>>    at eu.janinko.etsza.ai.agents.Zombie.act(Zombie.java:65)
> 
> >>>    at eu.janinko.etsza.ai.agents.Zombie.perform(Zombie.java:46)
> 
> >>>    at eu.janinko.etsza.primitives.AIPerform.perform(AIPerform.java:35)
> 
> >>>    at org.nlogo.prim._extern.perform(_extern.java:54)
> 
> >>>    at org.nlogo.nvm.Context.runExclusive(Context.java:119)
> 
> >>>    at org.nlogo.nvm.ExclusiveJob.run(ExclusiveJob.java:57)
> 
> >>>    at org.nlogo.nvm.Context.runExclusiveJob(Context.java:162)
> 
> >>>    at org.nlogo.prim._asm_procedurestep_ask_2.perform(:1)
> 
> >>>    at org.nlogo.nvm.Context.stepConcurrent(Context.java:91)
> 
> >>>    at org.nlogo.nvm.ConcurrentJob.step(ConcurrentJob.java:82)
> 
> >>>    at 
> >>> org.nlogo.job.JobThread.org$nlogo$job$JobThread$$runPrimaryJobs(JobThread.scala:143)
> 
> >>>    at 
> >>> org.nlogo.job.JobThread$$anonfun$run$1.apply$mcV$sp(JobThread.scala:78)
> 
> >>>    at org.nlogo.job.JobThread$$anonfun$run$1.apply(JobThread.scala:76)
> 
> >>>    at org.nlogo.job.JobThread$$anonfun$run$1.apply(JobThread.scala:76)
> 
> >>>    at scala.util.control.Exception$Catch.apply(Exception.scala:88)
> 
> >>>    at org.nlogo.util.Exceptions$.handling(Exceptions.scala:41)
> 
> >>>    at org.nlogo.job.JobThread.run(JobThread.scala:75)
> 
> >>> ```

-- 
You received this message because you are subscribed to the Google Groups 
"netlogo-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to