the data in NaInstArg
Exception if data is invalid
NaInstArgType type; assert("true".readData(type) == NaData(true)); assert(type == NaInstArgType.Boolean); assert("false".readData(type) == NaData(false)); assert(type == NaInstArgType.Boolean); assert("15".readData(type).value!integer == 15); assert(type == NaInstArgType.Integer); assert("0".readData(type).value!integer == 0); assert(type == NaInstArgType.Integer); assert("-1".readData(type).value!integer == -1); assert(type == NaInstArgType.Integer); assert("\"str\\t\"".readData(type).value!string == "str\t"); assert(type == NaInstArgType.String); assert("potato".readData(type).value!string == "potato"); assert(type == NaInstArgType.Label); assert("@1234".readData(type).value!NaInstArgAddress == NaInstArgAddress(1234)); assert(type == NaInstArgType.Address); assert("@1234,12".readData(type).value!NaInstArgAddress == NaInstArgAddress("1234",12)); assert(type == NaInstArgType.Address); assert("@label".readData(type).value!NaInstArgAddress == NaInstArgAddress("label")); assert(type == NaInstArgType.Address); assert("@label,1234".readData(type).value!NaInstArgAddress == NaInstArgAddress("label",1234)); assert(type == NaInstArgType.Address);
Reads data from a string (which can be string, char, double, integer, bool)
Addresses are read as integers