NetLogo 7.0.0-beta2:

ls:let

ls:let variable-name value

Creates a variable containing the given data that can be accessed by the child models.

ls:let works quite similar to let in that the variable is only locally accessible:

ls:let is very similar to let, except in a few cases.

  • ls:let will overwrite previous values in the variable

If you do

my-var will be set equal to 6. There is no ls:set.

  • ls:let supports variable shadowing

If you do

child-model will show 6 and then 5. This is known as variable shadowing.

  • The parent model cannot directly read the value of an ls variable

For example, this does not work.

This is intentional. ls variables are meant to be used for sharing data with child models. The parent model already has access to the data.

Furthermore, changing the value of an ls let variable in a child model will not affect it in any other model. For example:

All models will print 1.

Take me to the full LevelSpace Extension Dictionary