webmcp
annotate framework/env/slot/select.lua @ 428:52ebde158c92
Fixed minor glitch regarding floating point numbers (e.g. 0.009) in JSON encoder; Distinguish between integers and floats in JSON encoder if Lua version >= 5.3
| author | jbe |
|---|---|
| date | Thu Jan 14 17:40:49 2016 +0100 (2016-01-14) |
| parents | 9fdfb27f8e67 |
| children |
| rev | line source |
|---|---|
| jbe/bsw@0 | 1 --[[-- |
| jbe/bsw@0 | 2 slot.select( |
| jbe/bsw@0 | 3 slot_ident, -- name of a slot |
| jbe/bsw@0 | 4 function() |
| jbe/bsw@0 | 5 ... -- code to be executed using the named slot |
| jbe/bsw@0 | 6 end |
| jbe/bsw@0 | 7 ) |
| jbe/bsw@0 | 8 |
| jbe/bsw@0 | 9 This function executes code in a way that slot.put(...) and other functions write into the slot with the given name. Calls of slot.select may be nested. |
| jbe/bsw@0 | 10 |
| jbe/bsw@0 | 11 --]]-- |
| jbe/bsw@0 | 12 |
| jbe/bsw@0 | 13 function slot.select(slot_ident, block) |
| jbe/bsw@0 | 14 local old_slot = slot._active_slot |
| jbe/bsw@0 | 15 slot._active_slot = slot_ident |
| jbe/bsw@0 | 16 block() |
| jbe/bsw@0 | 17 slot._active_slot = old_slot |
| jbe/bsw@0 | 18 end |