This is indeed a pretty cool thread :)

- edolecki

On 1/26/06, Ian Thomas <[EMAIL PROTECTED]> wrote:
>
> Or even shorter:
>   public function handleUpdate(a:Object,b:Object,c:Object,d:Object)
>   {
>      var handlerName:String = 'onUpdate';
>      if (a.selected){handlerName+= 'A'};
>      if (b.selected){handlerName+='B'};
>      // etc.
>
>      if (this[handlerName]==undefined)
>      {
>        trace("We haven't got a handler called:"+handlerName);
>        return;
>      }
>      this[handlerName]();
>   }
>
>   public function onUpdateA()
>   {
>     // do stuff for A etc.
>   }
>
>   public function onUpdateAB()
>   {
>     // do stuff for AB etc.
>   }
>
> Cheers,
>   Ian
>
> On 1/26/06, Andreas Weber <[EMAIL PROTECTED]> wrote:
> >
> > Nice!
> > And I was determined not to post again, but at a certain stage my mental
> > block irresistibly kicked in again:
> > why ingeniously bit-wise encode the combinations just to later decode
> them
> > for better readabilty?
> >
> > Why not drop this altogether as we won't do any encoding:
> >         static var STATE_A:Number = 1; //  1 << 0
> >
> > Define the handlers like
> >         handlers = {};// or type it/ make it a class
> >         handlers["STATE_A"] = Delegate.create(this,handleAOnly);
> >         // etc.
> >
> > And finally:
> >
> >      public function handleUpdate(a:Object,b:Object,c:Object,d:Object)
> >      {
> >         state = 'STATE_';
> >         if(a.selected){ state += 'A'};
> >         if(b.selected){ state += 'B'};
> >         // etc.
> >
> >         handlers[state]();
> >      }
> >
> > What's the benefit of encoding/decoding numbers? Please enlighten me!
> >
> > Cheers!
> > --------------
> > Andreas Weber
> > motiondraw.com
> >
> _______________________________________________
> Flashcoders mailing list
> Flashcoders@chattyfig.figleaf.com
> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
>
_______________________________________________
Flashcoders mailing list
Flashcoders@chattyfig.figleaf.com
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Reply via email to