webmcp
annotate framework/env/slot/use_temporary.lua @ 14:a29c8ffb3f82
New function ui.filters{...}
Also changed version information to "1.0.8"
Also changed version information to "1.0.8"
| author | jbe/bsw |
|---|---|
| date | Sat Feb 20 21:00:58 2010 +0100 (2010-02-20) |
| parents | 9fdfb27f8e67 |
| children |
| rev | line source |
|---|---|
| jbe/bsw@0 | 1 --[[-- |
| jbe/bsw@0 | 2 slot_content = |
| jbe/bsw@0 | 3 slot.use_temporary( |
| jbe/bsw@0 | 4 function() |
| jbe/bsw@0 | 5 ... |
| jbe/bsw@0 | 6 end |
| jbe/bsw@0 | 7 ) |
| jbe/bsw@0 | 8 |
| jbe/bsw@0 | 9 This function creates a temporary slot and executes code in a way that slot.put(...) and other functions will write into the temporary slot. Afterwards the contents of the temporary slot are returned as a single string. |
| jbe/bsw@0 | 10 |
| jbe/bsw@0 | 11 --]]-- |
| jbe/bsw@0 | 12 |
| jbe/bsw@0 | 13 function slot.use_temporary(block) |
| jbe/bsw@0 | 14 local old_slot = slot._active_slot |
| jbe/bsw@0 | 15 local temp_slot_reference = {} -- just a unique reference |
| jbe/bsw@0 | 16 slot._active_slot = temp_slot_reference |
| jbe/bsw@0 | 17 block() |
| jbe/bsw@0 | 18 slot._active_slot = old_slot |
| jbe/bsw@0 | 19 local result = slot.get_content(temp_slot_reference) |
| jbe/bsw@0 | 20 slot.reset(temp_slot_reference) |
| jbe/bsw@0 | 21 return result |
| jbe/bsw@0 | 22 end |