Hallo, Chuckk Hubbard hat gesagt: // Chuckk Hubbard wrote:
I thought the point was that you could use this in numerous places and each one would be unique... so how could $0 alone refer to a specific one?
$0 is a number, which is guaranteed to be a different number in every abstraction instance it is used in. Not much else is known about $0.
However it still is just a number, so you can legally send this number and pass it as an argument to other abstractions. (You could do math with it, however that doesn't make sense, as the content of $0 is unknown.)
Passing $0 may be an advanced, but it is still a very common Pd idiom. For example, in RRADical a passed $0 is used to communicate between the various abstractions, that make up the state saving system inside.
Using $0 as argument makes abstractions behave more like real objects. Consider for example [tabread4 $0-table]: If you build your own tabread-abstraction, which may do a different kind of interpolation e.g. a linear one, and you call this [tabread1], then it is only natural to use this abstraction the same way, as you'd use tabread4: that is as: [tabread1 $0-table]. This is "passing $0" in action. Your new [tabread1] then will only read the [table $0-table] in its own parent patch, and it will not touch any other [table $0-table] in other abstraction instances.
Frank Barknecht _ ______footils.org_ __goto10.org__