[chuck-users] a few language questions

Peter Todd chuck at xinaesthetic.net
Fri Nov 9 18:59:35 EST 2007


Hello,

AFAIK there is no mechanism to alter the capacity of an array, and at
present not much else in the way of handy data structures.  This is
something I've been meaning to ask about myself, though.  I've only been
using ChucK for a short time...

As for the question on reflection... I don't think there is anything like
that there now, and somewhat doubt there will be soon... I certainly haven't
seen anything about it in the docs.  If you want to find out, for example,
if there is a "String toString()" method defined for Object, perhaps the
simplest thing is to read the source code... maybe that isn't a very
constructive comment, though.  Maybe you really do want to use reflection
generally... could be useful.

Cheers,
Peter
<<<"More text among the quote...">>>;

On Nov 9, 2007 8:50 PM, Michael Heuer <heuermh at gmail.com> wrote:

> If an array is defined but not instantiated with a capacity
>
> Object @ values[];
>
> should it be possible to instantiate it later with a capacity of nulls?
>
> Object @ [100] @=> values[];
>

Was this what you were after?
Object @ values[];
Object @ foo[100] @=> values;

How about a cast?
>
> class MyEvent extends Event
> {
>  int value;
> }
>
> fun void handleEvent(Event event)
> {
>  <<< ((MyEvent) event).value >>>;
> }
>

Casts are done differently, with the $ symbol. For example:

class MyEvent {
  int value;
}
fun void handle(Event e){
  e $ MyEvent @=> MyEvent e2;
  <<<e2.value>>>;
}


>
> Thanks,
>
>   michael
>
>
> Michael Heuer wrote:
>
> > Hello,
> >
> > I have a few chuck language questions:
> >
> > Is it possible to define a "growing" array?  The associative portion
> > of the array grows without bounds but I can't see how to do that with
> > the indexed portion.
> >
> > Object @ list[];
> > for (0 => int i; i < 100; i++)
> > {
> >   Object o @=> list[i];
> > }
> >
> > Is it possible to check a reference against null?
> >
> > Object @ list[100];
> > 0 => int size;
> > for (0 => int i; i < list.cap(); i++)
> > {
> >   if (list[i] is null?)
> >   {
> >     size++;
> >   }
> > }
> >
> > Is there a "String toString()" or similar method on Object?  I wish to
> > override  "Expressions which represent an object will print the value
> > of that object's reference address".
> >
> > Do reflective methods exist on the base Object type (its "Class")?
> > e.g.  Function[] getFunctions(); ...
> >
> > Thanks,
> >
> >    michael
> _______________________________________________
> chuck-users mailing list
> chuck-users at lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.cs.princeton.edu/pipermail/chuck-users/attachments/20071109/bff3edcb/attachment-0001.htm 


More information about the chuck-users mailing list