Difference between revisions of "Import"

From Kolmafia
Jump to navigation Jump to search
imported>PhilmASTErpLus
(Properly formatted code with Template:CodeSample. Also added some fuzzy information about main(), please look at talk page.)
imported>Bale
(tidying stuff and answering RFI)
Line 1: Line 1:
 +
{{DISPLAYTITLE:import}}
 
'''import <filename>'''
 
'''import <filename>'''
  
'''Import''' is a command that is used to import (hence the name) an entire file's contents into the file in which '''import''' is called. "Nested" imports are possible; a script that is being imported may import another script. If a single file is imported more than once, KoLmafia will automatically avoid function name collisions. Note that when a script that has a <code>main()</code> function is imported into another script with another <code>main()</code> function, only the top-level <code>main()</code> is executed, and all <code>main()</code> functions from imported scripts will be ignored.
+
'''Import''' is a command that is used to import (hence the name) an entire file's contents into the file in which '''import''' is called. "Nested" imports are possible; a script that is being imported may import another script. If a single file is imported more than once, KoLmafia will automatically avoid function name collisions. Note that when a script that has a <code>main()</code> function is imported into another script with another <code>main()</code> function, only the primary script's <code>main()</code> is executed, and all <code>main()</code> functions from imported scripts will be ignored. However, any of the imported top-level commands will be executed and all of the imported global variables will be accessible to the primary script.
  
 
==Example==
 
==Example==
Line 17: Line 18:
 
</syntaxhighlight>}}
 
</syntaxhighlight>}}
 
{{Format}}
 
{{Format}}
 +
 +
[[Category:ASH Scripting]]

Revision as of 20:42, 28 June 2010

import <filename>

Import is a command that is used to import (hence the name) an entire file's contents into the file in which import is called. "Nested" imports are possible; a script that is being imported may import another script. If a single file is imported more than once, KoLmafia will automatically avoid function name collisions. Note that when a script that has a main() function is imported into another script with another main() function, only the primary script's main() is executed, and all main() functions from imported scripts will be ignored. However, any of the imported top-level commands will be executed and all of the imported global variables will be accessible to the primary script.

Example

# snippet from my aftercore.ash file
import <aftercore_config.ash> // import the configuration file (loaded with variables) into the script
import <aftercore_bounty.ash> // import bounty functionality (loaded with functions) into the script

int first_meat = my_meat();
int first_advs = my_adventures();
boolean using_upcs_curr = false;

# ...

Formatting Needed