Derek Holzer escribió:
Yes, I was going to say next that [expr] doesn't take $1 or $0, it takes $f1, $f2 etc etc. That's why it won't create.
It does take $0 and $1 etc, it just means a completely different thing than $f1, $f2 etc.
$1 is the creation argument of the patch containing [expr] and it expands to its value, just like it would in any other object.
And regarding array names, [expr size("foo$1")] does create and does work (also with $0)
The problem is not specific to dollar signs: the problem is that expr won't accept a name (for the array in this case) that starts with a number, or that contains an aritmetical operation sign. Which, besides not allowing for names that are legal in Pd, seems like an error in the parsing process, because it seems it applies the same rules inside quotation marks that it would apply without quotes.
Maybe the same problem would apply to variables (meaning [value]s) as well as arrays, I don't know - and maybe the workaround you suggested applies to that case...