I think the images explain it:
This is just a complicated wrapper around the fact that = doesn't work for blocks.
I just tested this out and this works
but this doesn't
as well as this
in conclusion, it doesn't work when there's an empty value.
edit: strangely this works though
I now think it might be because the empty value from the split by block is not the same value as the empty value in a list.
That's right, you need to compare expressions by decomposing them first (on both sides of the equation):
But ITEM 4 OF on both of them gives equal results.
ok, so I did find out that the empty value created by the split by block is actually null, not ''. Here's the proof
and here's what I did to get these values
On my ever-growing wish list, but unlikely ever to happen, is for all empty lists to be EQ. But I don't know about empty text strings. Logo actually takes pains to ensure that equal words are always EQ. (That is, it interns them: adds them to a hash table of words.) It does this because words do double duty; besides being printable and subsettable and so on, they serve as symbols, to name things.
But what you're seeing is probably just a bug. It's the null that's wrong, right? (Sorry for that difficult sentence.)
Hmm. True, this seems to work:
But, Jens, this works as they're expecting:
It's only when one of the inputs is an empty string that it doesn't:
If this were about distinguishing expressions from functions, why is it only in the case of an empty text string input that the comparison gives False? I would have thought it'd be False in the case without the empty input too.
And you shouldn't be jumping all over @ego-lay_atman-bay. They're not saying that it's an error because there's a difference in the JS Console. It's an error because the behavior is unexpected only in the case of an empty input. The point of the JS is that they're trying to help you debug it!
If you don't fix this, someone is gonna complain about it again in the future. It's just bound to happen. Also, if null doesn't exist in snap, why does it not equal an empty string?
if you want to use Snap! at the end of an exclamation, please put Snap!! instead of just Snap! as to avoid run on sentences with randomly scattered capitalized improper nouns
shouldnt have to say this but...
just kidding :P
I'm pretty sure he knows
Snap<i>!</i>, but doesn't have the time.
if null doesn't exist in snap, why does it not equal an empty string?
you mean like this?
thats exactly what it does..
You guys aren't helping by talking about JS. That just helps convince Jens that this is a non-problem. See my comment #9 above.