Headless Behavior Space with table extension

大憨熊 提交于 2019-12-12 04:03:54

问题


I currently have a project that I've completed using the netlogo interface.

My project includes multiple .nls files and one of my .nls files use the table extension. I've created a behavior space experiment and named it experiment for simplicity.

I'm trying to run the experiment headless using the following commands in my Netlogo application's directory where the Netlogo.jar is located.

java -Xmx1024m -Dfile.encoding=UTF-8 -cp ./Netlogo.jar org.nlogo.headless.Main --model /path/to/file/experiment.nlogo --experiment experiment  --table /path/to/output/table-output.csv --spreadsheet /path/to/output/spreadsheet-output.csv 

I'm getting the following error. It seems that I can't detect my extension from the .nls file. How can this be fixed?

Exception in thread "main" Nothing named TABLE:PUT has been defined at position 895 in 
    at org.nlogo.compiler.CompilerExceptionThrowers$.exception(CompilerExceptionThrowers.scala:26)
    at org.nlogo.compiler.IdentifierParser.org$nlogo$compiler$IdentifierParser$$getAgentVariableReporter(IdentifierParser.scala:107)
    at org.nlogo.compiler.IdentifierParser$$anonfun$processToken2$2.apply(IdentifierParser.scala:75)
    at org.nlogo.compiler.IdentifierParser$$anonfun$processToken2$2.apply(IdentifierParser.scala:68)
    at scala.Option.getOrElse(Option.scala:108)
    at org.nlogo.compiler.IdentifierParser.processToken2(IdentifierParser.scala:68)
    at org.nlogo.compiler.IdentifierParser.processToken$1(IdentifierParser.scala:31)
    at org.nlogo.compiler.IdentifierParser$$anonfun$process$1.apply(IdentifierParser.scala:34)
    at org.nlogo.compiler.IdentifierParser$$anonfun$process$1.apply(IdentifierParser.scala:34)
    at scala.collection.Iterator$$anon$19.next(Iterator.scala:401)
    at scala.collection.Iterator$class.toStream(Iterator.scala:1181)
    at scala.collection.Iterator$$anon$19.toStream(Iterator.scala:399)
    at scala.collection.Iterator$$anonfun$toStream$1.apply(Iterator.scala:1181)
    at scala.collection.Iterator$$anonfun$toStream$1.apply(Iterator.scala:1181)
    at scala.collection.immutable.Stream$Cons.tail(Stream.scala:1060)
    at scala.collection.immutable.Stream$Cons.tail(Stream.scala:1052)
    at scala.collection.immutable.StreamIterator$$anonfun$next$1.apply(Stream.scala:952)
    at scala.collection.immutable.StreamIterator$$anonfun$next$1.apply(Stream.scala:952)
    at scala.collection.immutable.StreamIterator$LazyCell.v(Stream.scala:941)
    at scala.collection.immutable.StreamIterator.hasNext(Stream.scala:946)
    at scala.collection.Iterator$class.isEmpty(Iterator.scala:329)
    at scala.collection.immutable.StreamIterator.isEmpty(Stream.scala:933)
    at scala.collection.immutable.StreamIterator.next(Stream.scala:948)
    at scala.collection.Iterator$$anon$2.next(Iterator.scala:898)
    at scala.collection.Iterator$$anon$2.head(Iterator.scala:885)
    at org.nlogo.compiler.ExpressionParser.recurse$1(ExpressionParser.scala:474)
    at org.nlogo.compiler.ExpressionParser.delayBlock(ExpressionParser.scala:479)
    at org.nlogo.compiler.ExpressionParser.parseExpressionInternal(ExpressionParser.scala:339)
    at org.nlogo.compiler.ExpressionParser.org$nlogo$compiler$ExpressionParser$$parseArgExpression(ExpressionParser.scala:290)
    at org.nlogo.compiler.ExpressionParser$$anonfun$parseArguments$1.apply$mcVI$sp(ExpressionParser.scala:96)
    at scala.collection.immutable.Range.foreach$mVc$sp(Range.scala:81)
    at org.nlogo.compiler.ExpressionParser.parseArguments(ExpressionParser.scala:95)
    at org.nlogo.compiler.ExpressionParser.parseStatement(ExpressionParser.scala:80)
    at org.nlogo.compiler.ExpressionParser.parse(ExpressionParser.scala:55)
    at org.nlogo.compiler.CompilerMain$$anonfun$compile$1.apply(CompilerMain.scala:34)
    at org.nlogo.compiler.CompilerMain$$anonfun$compile$1.apply(CompilerMain.scala:29)
    at scala.collection.Iterator$class.foreach(Iterator.scala:772)
    at scala.collection.JavaConversions$JIteratorWrapper.foreach(JavaConversions.scala:573)
    at scala.collection.IterableLike$class.foreach(IterableLike.scala:73)
    at scala.collection.JavaConversions$JCollectionWrapper.foreach(JavaConversions.scala:592)
    at org.nlogo.compiler.CompilerMain$.compile(CompilerMain.scala:29)
    at org.nlogo.compiler.Compiler$.compileProgram(Compiler.scala:28)
    at org.nlogo.headless.HeadlessModelOpener.openFromMap(HeadlessModelOpener.scala:53)
    at org.nlogo.headless.HeadlessWorkspace.openString(HeadlessWorkspace.scala:531)
    at org.nlogo.headless.HeadlessWorkspace.open(HeadlessWorkspace.scala:513)
    at org.nlogo.headless.Main$.newWorkspace$1(Main.scala:19)
    at org.nlogo.headless.Main$$anonfun$runExperiment$1.apply(Main.scala:24)
    at org.nlogo.headless.Main$$anonfun$runExperiment$1.apply(Main.scala:24)
    at org.nlogo.lab.Lab$$anonfun$1.apply(Lab.scala:33)
    at org.nlogo.lab.Lab$$anonfun$1.apply(Lab.scala:33)
    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:233)
    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:233)
    at scala.collection.immutable.Range.foreach(Range.scala:78)
    at scala.collection.TraversableLike$class.map(TraversableLike.scala:233)
    at scala.collection.immutable.Range.map(Range.scala:46)
    at org.nlogo.lab.Lab.run(Lab.scala:33)
    at org.nlogo.headless.Main$.runExperiment(Main.scala:24)
    at org.nlogo.headless.Main$$anonfun$main$1.apply(Main.scala:14)
    at org.nlogo.headless.Main$$anonfun$main$1.apply(Main.scala:14)
    at scala.Option.foreach(Option.scala:197)
    at org.nlogo.headless.Main$.main(Main.scala:14)
    at org.nlogo.headless.Main.main(Main.scala)

回答1:


It seems that the .nlogo file must contain the extension declaration rather than the .nls file.



来源:https://stackoverflow.com/questions/34366890/headless-behavior-space-with-table-extension

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!