Datatype Conversions

From Kolmafia
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

These functions will convert one type of data to another.

boolean to_boolean( any )

Converts any datatype to a boolean.

bounty to_bounty( string )

Converts a string to a bounty.

class to_class( string )

Converts a string to a class.

effect to_effect( int )

effect to_effect( string )

effect to_effect( skill )

Converts an int, string or skill to an effect.

element to_element( string )

Converts a string to an element.

familiar to_familiar( int )

familiar to_familiar( string )

Converts an int or a string to a familiar.

float to_float( any )

Converts from any datatype to a float.

int path_name_to_id( string )

int to_int( any )

Converts from any datatype to an int.

item to_item( string )

item to_item( int )

item to_item( string, int )

Converts an int or a string to an item (optionally allowing plural strings with both parameters).

location to_location( string )

Converts a string to a location.

monster to_monster( string )

Converts a string to a monster.

phylum to_phylum( string )

Converts a string to a phylum.

string to_plural( item )

Converts an item into the string value of its plural.

skill to_skill( int )

skill to_skill( string )

skill to_skill( effect )

Converts an int, string or effect to a skill.

slot to_slot( item )

slot to_slot( string )

Converts an item or string to a slot.

stat to_stat( string )

Converts a string to a stat.

string path_id_to_name( int )

string to_string( any )

Converts any datatype to a string.

thrall to_thrall( string )

thrall to_thrall( int )

Converts a string or int to a thrall.

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.