Difference between revisions of "Datatype Conversions"
imported>Grotfang m |
imported>StDoodle m |
||
Line 2: | Line 2: | ||
{{flink|boolean|to_boolean|any|desc=Converts any datatype to a boolean.}} | {{flink|boolean|to_boolean|any|desc=Converts any datatype to a boolean.}} | ||
{{flink|class|to_class|string|desc=Converts a string to a class.}} | {{flink|class|to_class|string|desc=Converts a string to a class.}} | ||
− | {{flink|effect|to_effect| | + | {{flink|effect|to_effect|int}} |
− | {{flink|familiar|to_familiar| | + | {{flink|effect|to_effect|string}} |
+ | {{flink|effect|to_effect|skill|desc=Converts an int, string or skill to an effect.}} | ||
+ | {{flink|familiar|to_familiar|int|desc=Converts an int or a string to a familiar.}} | ||
+ | {{flink|familiar|to_familiar|string|desc=Converts an int or a string to a familiar.}} | ||
{{flink|float|to_float|any|desc=Converts from any datatype to a float.}} | {{flink|float|to_float|any|desc=Converts from any datatype to a float.}} | ||
{{flink|int|to_int|any|desc=Converts from any datatype to an int.}} | {{flink|int|to_int|any|desc=Converts from any datatype to an int.}} | ||
− | {{flink|item|to_item| | + | {{flink|item|to_item|string}} |
− | {{flink|location|to_location| | + | {{flink|item|to_item|int}} |
+ | {{flink|item|to_item|string|int|desc=Converts an int or a string (or both?) to an item.}} | ||
+ | {{flink|location|to_location|string}} | ||
+ | {{flink|location|to_location|int|desc=Converts an int or a string to a location.}} | ||
{{flink|monster|to_monster|string|desc=Converts a string to a monster.}} | {{flink|monster|to_monster|string|desc=Converts a string to a monster.}} | ||
{{flink|skill|to_skill|any|desc=Converts an int, string or effect to a skill.}} | {{flink|skill|to_skill|any|desc=Converts an int, string or effect to a skill.}} |
Revision as of 01:49, 13 March 2010
These functions will convert one type of data to another.
boolean to_boolean( any )
class to_class( string )
effect to_effect( int )
effect to_effect( string )
effect to_effect( skill )
familiar to_familiar( int )
familiar to_familiar( string )
float to_float( any )
int to_int( any )
item to_item( string )
item to_item( int )
location to_location( string )
location to_location( int )
monster to_monster( string )
skill to_skill( any )
slot to_slot( item )
string to_string( any )
string to_plural( item )
Historical note
ASH did not originally support polymorphic functions, so it was not possible to have (for example) a single to_string(any) function that worked on any datatype. Instead, there were separate int_to_string(int), item_to_string(item), etc. functions. You may see these used in older scripts, and in fact they still work. The rule is that if a function name is not otherwise defined anywhere, and it ends with one of the modern type conversion function names shown above, it is treated as a call to the modern function. No check is made to verify that the chopped-off portion of the old function name actually matches the type of its parameter.