lua:sharedtable
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| lua:sharedtable [2015/09/28 13:07] – vodur | lua:sharedtable [2015/09/28 16:36] (current) – vodur | ||
|---|---|---|---|
| Line 128: | Line 128: | ||
| ==== Sharing with different prog types ==== | ==== Sharing with different prog types ==== | ||
| - | All prog types have access to ' | + | All prog types have access to ' |
| One strategy to overcome this limitation is to keep all the shared code in an aprog and load it from the different prog types accordingly: | One strategy to overcome this limitation is to keep all the shared code in an aprog and load it from the different prog types accordingly: | ||
| <code lua> | <code lua> | ||
| - | |||
| - | < | ||
| -- aprog 1234, shared helper functions for all prog types | -- aprog 1234, shared helper functions for all prog types | ||
| if shared.helpers_loaded then return | if shared.helpers_loaded then return | ||
| Line 150: | Line 148: | ||
| <code lua> | <code lua> | ||
| - | |||
| - | < | ||
| -- aprog 1235 | -- aprog 1235 | ||
| loadprog(1234) | loadprog(1234) | ||
| Line 159: | Line 155: | ||
| <code lua> | <code lua> | ||
| - | |||
| - | < | ||
| -- mprog 1234 | -- mprog 1234 | ||
| mob.proto.area: | mob.proto.area: | ||
| Line 168: | Line 162: | ||
| <code lua> | <code lua> | ||
| - | |||
| - | < | ||
| -- oprog 1234 | -- oprog 1234 | ||
| obj.proto.area: | obj.proto.area: | ||
| Line 177: | Line 169: | ||
| <code lua> | <code lua> | ||
| - | |||
| - | < | ||
| -- rprog 1234 | -- rprog 1234 | ||
| room.area: | room.area: | ||
| + | shared.helper1() | ||
| + | shared.helper2() | ||
| + | </ | ||
| + | |||
| + | Using ' | ||
| + | |||
| + | <code lua> | ||
| + | -- helpers_example.lua, | ||
| + | if shared.helpers_loaded then return | ||
| + | |||
| + | function shared.helper1() | ||
| + | echo(" | ||
| + | end | ||
| + | |||
| + | function shared.helper2() | ||
| + | echo(" | ||
| + | end | ||
| + | |||
| + | shared.helpers_loaded=true | ||
| + | </ | ||
| + | |||
| + | <code lua> | ||
| + | -- aprog 1235 | ||
| + | loadscript(' | ||
| + | shared.helper1() | ||
| + | shared.helper2() | ||
| + | </ | ||
| + | |||
| + | <code lua> | ||
| + | -- mprog 1234 | ||
| + | loadscript(' | ||
| + | shared.helper1() | ||
| + | shared.helper2() | ||
| + | </ | ||
| + | |||
| + | <code lua> | ||
| + | -- oprog 1234 | ||
| + | loadscript(' | ||
| + | shared.helper1() | ||
| + | shared.helper2() | ||
| + | </ | ||
| + | |||
| + | <code lua> | ||
| + | -- rprog 1234 | ||
| + | loadscript(' | ||
| shared.helper1() | shared.helper1() | ||
| shared.helper2() | shared.helper2() | ||
| </ | </ | ||
lua/sharedtable.1443445655.txt.gz · Last modified: 2015/09/28 13:07 by vodur