[Newbies] More than 256 literals referenced.
Bert Freudenberg
bert at freudenbergs.de
Mon Jul 23 21:26:23 UTC 2007
On Jul 23, 2007, at 22:47 , Robert Stehwien wrote:
> What is the source of the error produced by the following code?
> ----------
> initialize
> table := OrderedCollection new.
>
> "there are 100 entries like what is below"
>
> table add: ({
> #value->2.
> #cost->-3.
> #step->2.
> #defense->3.
> #combatMove->7.
> #fullMove->14.
> #carry->10.
> #lift->20.
> #death->20.
> #unconscious->11.
> #woundThreshold->4.
> #recovery->0.5.
> #mysticArmor->0.
> } as: Dictionary).
> ----------
> More than 256 literals referenced.
> You must split or otherwise simplify this method.
> The 257th literal is: 4360
> ----------
>
> I'm trying to create a data table for a program and I'm wondering if
> I'm limited to 256 literals per class or method. I tried initilizing
> the table in multiple methods (setting 50 per method) but get the same
> error.
The limit is 256 literals per method. However, a literal array is
still just one literal. So you can put all your data into one literal
if you want:
#((
value 2
cost -3
step 2
defense 3
combatMove 7
fullMove 14
carry 10
lift 20
death 20
unconscious 11
woundThreshold 4
recovery 05
mysticArmor 0
) (
value 2
cost -3
step 2
defense 3
combatMove 7
fullMove 14
carry 10
lift 20
death 20
unconscious 11
woundThreshold 4
recovery 05
mysticArmor 0
) )
Then just iterate over it (#do: for the outer array, #pairsDo: is
handy for the inner) to construct your objects. Btw, you surely would
like to make a class and not just use dictionaries ;)
- Bert -
More information about the Beginners
mailing list