New string.append and string.prepend objects
prelude
So, Max 8.6.0 was released, and it looks like it might contain some life changing new features including new data types! woat? This is one of those features that I am sure will puzzle new users coming into max, but will do wonders for those who have been on this trail for a while now. I'm going to be honest, sometimes I have such basic questions that I am not sure which one I am.
Hi,
I can't help but to feel confused about the fact that string.append
and append
work exactly in the opposite way. Here is a quick demo. Try to guess the output before hitting the back
message on each column.
Can someone explain it? Is this a bug?
The argument to string.append
is the starting value of the string, not the value to append. I can see how this might be confusing. We'll take a closer look!
It would indeed make more sense if you could swap the first 2 inlets.
In Max world the right inlet is usually used to set the value of the operator, its first argument, or initial value in most cases.
If I have string x and I want to append something to it, I need to send my string to the second (cold inlet) and then trigger the first (hot inlet) with the value that I want to append to it (or a bang in case I have already setup the value to append as an argument). It feels cumbersome when compared to: create object with argument (initial value to append) and send it a string to be modified on the first hot inlet.
Don't get me wrong I love new datatypes and I have a feeling they will solve many limitations I've faced before with symbols and lists (how many times writing @zlmaxsize...). But as it stands, at least these 2 objects are counter intuitive.
Thank you,
OCH
OK, had a chance to look at the code. This is, in fact, a bug: append/prepend operations are reversed (!) and the inlet is mislabeled. This will be fixed for the next update, thanks for bringing it to our attention.
@Jeremy
I just wanted to add that I appreciate your attention!
Best,
OCH