webmcp
annotate framework/env/convert/from_human.lua @ 36:5380305a3d51
allow multiple arguments to trace.debug
you can now write trace.debug("bla", 2, ...)
you can now write trace.debug("bla", 2, ...)
| author | Daniel Poelzleithner <poelzi@poelzi.org> |
|---|---|
| date | Sat Oct 09 00:57:26 2010 +0200 (2010-10-09) |
| parents | 9fdfb27f8e67 |
| children |
| rev | line source |
|---|---|
| jbe/bsw@0 | 1 function convert.from_human(str, typ) |
| jbe/bsw@0 | 2 if not typ then |
| jbe/bsw@0 | 3 error("Using convert.from_human(...) to convert a human readable string to an internal data type needs a type to be specified as second parameter.") |
| jbe/bsw@0 | 4 end |
| jbe/bsw@0 | 5 if not str then return nil end -- TODO: decide, if an error should be raised instead |
| jbe/bsw@0 | 6 local type_symbol = convert._type_symbol_mappings[typ] |
| jbe/bsw@0 | 7 if not type_symbol then |
| jbe/bsw@0 | 8 error("Unrecognized type reference passed to convert.from_human(...).") |
| jbe/bsw@0 | 9 end |
| jbe/bsw@0 | 10 local converter = convert["_from_human_to_" .. type_symbol] |
| jbe/bsw@0 | 11 if not converter then |
| jbe/bsw@0 | 12 error("Type reference passed to convert.from_human(...) was recognized, but the converter function is not existent.") |
| jbe/bsw@0 | 13 end |
| jbe/bsw@0 | 14 return converter(str) |
| jbe/bsw@0 | 15 end |