[chuck-users] .size() fails to properly instantiate objects
Kassen
signal.automatique at gmail.com
Sun Aug 10 15:35:49 EDT 2008
Fellow ChucKists,
Below you'll find some example code proving that extending a array of
instances of a home-made class using ".size()"doesn't properly instantiates
the new objects, leading to nullpointers and the shred being dropped. The
"<<" operator, using "new" does lead to proper instantiation.
I feel this is a bug.
Yours,
Kas.
=====================8<==============================
//instantiate a array of home made classes
foo bar[1];
//check that this works
<<<"your lucky number is ", bar[0].value>>>;
//grow by one.
bar << new foo ;
//make sure it's instantiated
<<<"your lucky number is ", bar[1].value>>>;
//grow by a another one
bar.size(bar.size() + 1);
//make sure we did, size should now be 3
<<<"size is now", bar.size()>>>;
//try to verify this is instantiated, it won't be
<<<"your unlucky number is ", bar[2].value>>>;
class foo
{
Std.rand2(0, 10) => int value;
}
===================================================
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cs.princeton.edu/pipermail/chuck-users/attachments/20080810/acda50ef/attachment.html>
More information about the chuck-users
mailing list