[PD-dev] $0 in messages, was: multiple $arg-expansion
IOhannes m zmoelnig
zmoelnig at iem.at
Sun Jan 15 18:38:12 CET 2006
Hans-Christoph Steiner wrote:
>
> On Jan 15, 2006, at 4:01 AM, IOhannes m zmoelnig wrote:
>
> This sounds logical. I have a question about the selector tho. So if
> I send [1 2 3(, would the $0 selector be "list" or would it be "1"?
of course it would be "list", since that'sthe selector of [list 1 2 3(.
[1 2 3( is just a shortcut for [list 1 2 3(
>
> As for implementing this, we could add $$ as the instance ID, and $0 in
> messages as the selector. Then have $0 default to classname in
> objects, but have a startup flag that reverted $0 to the old behavior
well this would be simple, though i am not really convinced that it is
practical - but then, hey, it might really make things better on the
long run
(an alternative would be to make it a compile.time option ;-))
> for running old patches. Why we are at it, $# for number of arguments
> and $@ for all arguments would be nice too.
yes of course, i just forgot to mention that.
>> 2nd thing todo (LATER!) is a mechanism for stacked $args, like ${$1-2}
>
>
> Stacked args would complicate things more than its worth. I think it
> is getting away from the graphical nature of Pd programming and I can't
> think of any parallel structure in any language that uses $ variables.
ähm, bash? like in:
~$ i=3; j=4; echo $[i+2] $[i*$[j+1]]
> Couldn't you just use stacked messages with regular $ args? That would
> be much more Pd-ish.
i was thinking of objects where i cannot change the arguments via messages.
[block~] used to be like that (but since 0.39 (or was it 0.38) you can
now set the blocksiz,... via messages, which makes my argument somewhat
obsolete; but anyhow...)
writing an abstraction with variable blocksize which is a multiple of
the variable(!) blocksize of its parent patch would need that.
(while this sounds a bit weird, i am pretty sure i needed to do so
several times in the past; of course i don't remember the exact context)
btw, there is even an open feature request in the sf-tracker regarding this.
but as i said, it is not very high priority on my todo list
mfg.adsr.
IOhannes
More information about the Pd-dev
mailing list