Testing equality of blocks

If I assign a ringed reporter to a variable, is there any way I can test what the value of the variable is? Recalling and evaluating the reporter from the variable works fine, but the algorithm I'm trying to implement wants to test if two stored blocks are the same. Here's a pic, where everything returns false, except the 'is a reporter?' block.

the is a reporter block is saying that the variable is a reporter, not the value. and for the untitled script pic (4) should be untitled script pic (5) this block works because it converts the values to text, then it tests whether the two texts are equal, and since the values were the same block morph text, they are equal.

Wow, that's a really good method! I had never thought of that, and I might use it in the future

No. Not if I'm correctly understanding what you're saying. What would you expect this to say?
untitled script pic
Turning the block into text, though, is brilliant. I was thinking it would call the red LENGTH OF equal to the green LENGTH OF, but it doesn't, because the input slots are different types.

Whoa! I see how that works, but it's a bit heavier duty than I was hoping for. This is a port of an algorithm that uses function pointers to implement state. What I'll probably do is enable the reporter to tell me its name.
Many thanks!

ok, I didn't try it out, I just thought that, so it really doesn't say that the variable is a reporter, it says if the value is a reporter.

yo welcome

It looks like the result of join is a short string for any block. I was worried it might be a long string, so, maybe it is a good way to go for now. prevents one more bit of user error

There's a general principle involved, namely that Snap! always evaluates the inputs to a block before evaluating the block itself. So, when you do untitled script pic (1), the × block just knows that its input values are 3 and 9; it doesn't know how those values were computed. (There are a few exceptions, namely, the blocks with Unevaluated-type inputs or C-shaped slots.) So the way to do the thing you meant would be untitled script pic, making the variable block itself be the input by ringing it.

I didn't realize the string doesn't included input values, so untitled script pic (1)
reports true