David Powers wrote:
2. Give the class a static array property
This is what I first tried in the implementation that I sent, but I quickly ran into a (documented, http://wiki.cs.princeton.edu/index.php/ChucK/Bugs/Known) ChucK bug. Static objects are not properly initialized, which includes arrays. And unlike other objects, it seems that you can't assign an array to an Object. (i.e. "new int[20] @=> Object foo;" doesn't work) The only way I saw to work around this was creating another class as an array handle and using that by reference. So: class Foo { class ArrayHandle { int values[20]; } static ArrayHandle @ handle; if(handle == null) { new ArrayHandle @=> handle; } // ... } Then all access to the value array has to be done via handle.values[...]. But then that was almost as much code as writing the list. :-) -Scott