The first input of should be a real input, so you can do stuff like instead of , because you also do .
Would my [draggable?]
have to be ringified?
you can do but I want to be able to do
Look in the "Create variables in a program" library.
I know about that, I want it to be primitive
On the surface , it looks to be an excellent idea to let us do that
It would be a considerable floor lowering feature.
But I'd imagine it would be a LOT of work to implement
I think it would be easy to implement, but it makes it less clear what is mutating what, therefore not helping the floor.
ok, so I found out that this
works, so all you need to do is be able to stick reporters in the inputFor those of us who used to work on the ground level, we can't spull mutating and we'd wouldn't be worrying about it
Just being able to say set anything we want to anything we want would make life considerably easier
If you want this, then use post 8 with a custom block and an unevaluated input.
In the original BYOB3, you could drop variables onto the menu slot, but it didn't mean what everyone expected; it meant to look inside that variable for the name of another variable and that's the one whose value was changed. This was a great feature, but nobody understood it, so we got a lot of complaints about it not working, so we took it out.
There's a fairly good reason for us not to allow write-in variable names, namely, not all variables are in scope of the script where SET is being used, and the menu lists all the ones that are. If you provide a name that isn't in the list, we won't know what variable you mean. And some would say that even if there's a unique variable by that name, if it's not in scope it would be wrong to let that script mutate it.
As for attributes, only some of them are settable. (Look at the submenu for SET MY and compare it to the MY block's menu!)
So, hiding all this semi-okay stuff behind the RUN WITH INPUTS mechanism means that only experts will use it, and so we hope we won't get spurious bug reports because Snap! doesn't do what the naive user wants.