ASH Errors: Difference between revisions
imported>Icon315 →Variable is already defined: woops forgot to chanfe description, i think i will enjoy this page |
imported>Heeheehee Several more up. |
||
Line 44: | Line 44: | ||
===Script parsing error=== | ===Script parsing error=== | ||
This generally indicates a syntax problem, as in having an excess amount of braces. | This generally indicates a syntax problem, as in having an excess amount of braces. | ||
Line 61: | Line 60: | ||
===Variable is already defined=== | ===Variable is already defined=== | ||
This generally indicates that you have 2 variables named identically. | This generally indicates that you have 2 variables named identically. | ||
Line 74: | Line 72: | ||
</syntaxhighlight>}} | </syntaxhighlight>}} | ||
will cause this error: <span style="color:red">Variable Drops is already defined (test.ash, line 3)</span> | will cause this error: <span style="color:red">Variable Drops is already defined (test.ash, line 3)</span> | ||
===Main method must appear at top level=== | |||
This indicates that the script's main method is inside another method, for some reason. This is usually caused by a missing brace. | |||
{{CodeSample| | |||
description=Example:| | |||
code= | |||
<syntaxhighlight> | |||
void stuff() { | |||
// stuff happens here | |||
void main() { | |||
stuff(); | |||
} | |||
</syntaxhighlight>}} | |||
will cause this error: <span style="color:red">main method must appear at top level (test.ash, line 6)</span> | |||
===Record expected=== | |||
This indicates that an unrecognized record was found. This often appears when you forget to append "()" to a function name. | |||
{{CodeSample| | |||
description=Example:| | |||
code= | |||
<syntaxhighlight> | |||
print(4.to_string); | |||
</syntaxhighlight>}} | |||
will cause this error: <span style="color:red">Record expected (test.ash, line 2)</span> | |||
===Invalid field name=== | |||
This indicates that the record does not contain the field in question. | |||
{{CodeSample| | |||
description=Example:| | |||
code= | |||
<syntaxhighlight> | |||
record dblstr { | |||
string a; | |||
string b; | |||
}; | |||
dblstr [int] map; | |||
map[1].c = "hello"; | |||
</syntaxhighlight>}} | |||
will cause this error: <span style="color:red">Invalid field name 'c' (test.ash, line 7)</span> | |||
===Reserved word cannot be a record name=== | |||
This indicates that the record name has already been reserved, and so cannot be used. The solution is to change the record name. | |||
{{CodeSample| | |||
description=Example:| | |||
code= | |||
<syntaxhighlight> | |||
record string { | |||
string a; | |||
string b; | |||
}; | |||
</syntaxhighlight>}} | |||
will cause this error: <span style="color:red">Reserved word 'string' cannot be a record name (test.ash, line 1)</span> | |||
===Record name is already defined=== | |||
This indicates that the record name has already been defined, and so cannot be reused. The solution is to change the record name. | |||
{{CodeSample| | |||
description=Example:| | |||
code= | |||
<syntaxhighlight> | |||
record str { | |||
string a; | |||
string b; | |||
}; | |||
record str { | |||
string a; | |||
string b; | |||
}; | |||
</syntaxhighlight>}} | |||
will cause this error: <span style="color:red">Record name 'str' is already defined (test.ash, line 5)</span> | |||
{{RFI|Obviously, a lot more info is needed here.}} | {{RFI|Obviously, a lot more info is needed here.}} |
Revision as of 00:14, 17 April 2010
Errors happen.
Also, I don't happen to have this page done, yet.
Abort
Whenever a script runs the abort() function, this error is generated.
Example:
abort("Aborting script...");
will stop the execution and print: Aborting script...
Expected
This generally indicates a syntax problem (missing ending semi-colon, unmatched braces, unmatched parenthesis etc...).
Example:
int a = 1
print(a);
will cause this error: Expected ;, found print (test.ash, line 2)
Missing return value
The last line of a user-defined function has to be "return <value>;" (although the return command can be used before too).
Example:
int my_function( int a, int b ) {
if ( a > b ) return a ;
else return b ;
}
will cause this error: Missing return value (test.ash, line 4)
Script parsing error
This generally indicates a syntax problem, as in having an excess amount of braces.
Example:
put_shop(0 ,0 ,$item[wolf mask]);
put_shop(0 ,0 ,$item[rave whistle]);
put_shop(0 ,0 ,$item[giant needle]);
cli_execute ("undercut");
}
will cause this error: Script parsing error (test.ash, line 5)
Variable is already defined
This generally indicates that you have 2 variables named identically.
Example:
int Drops = numeric_modifier("Item Drop");
int Drops = numeric_modifier("Meat Drops");
will cause this error: Variable Drops is already defined (test.ash, line 3)
Main method must appear at top level
This indicates that the script's main method is inside another method, for some reason. This is usually caused by a missing brace.
Example:
void stuff() {
// stuff happens here
void main() {
stuff();
}
will cause this error: main method must appear at top level (test.ash, line 6)
Record expected
This indicates that an unrecognized record was found. This often appears when you forget to append "()" to a function name.
Example:
print(4.to_string);
will cause this error: Record expected (test.ash, line 2)
Invalid field name
This indicates that the record does not contain the field in question.
Example:
record dblstr {
string a;
string b;
};
dblstr [int] map;
map[1].c = "hello";
will cause this error: Invalid field name 'c' (test.ash, line 7)
Reserved word cannot be a record name
This indicates that the record name has already been reserved, and so cannot be used. The solution is to change the record name.
Example:
record string {
string a;
string b;
};
will cause this error: Reserved word 'string' cannot be a record name (test.ash, line 1)
Record name is already defined
This indicates that the record name has already been defined, and so cannot be reused. The solution is to change the record name.
Example:
record str {
string a;
string b;
};
record str {
string a;
string b;
};
will cause this error: Record name 'str' is already defined (test.ash, line 5)
Attention KoLmafia Experts!
We need your help; some details of this function's operation are unknown or unclear.
The following specific question has been raised:
- Obviously, a lot more info is needed here.