Discuss Scratch

KuhliLoach
Scratcher
2 posts

List reporter block bug. Spacing issue.

My browser / operating system: Windows NT 10.0, Chrome 93.0.4577.82, No Flash version detected

This morning I was working on a project of mine when I found this bug which broke my game. I am not sure if this problem has been addressed in the past, but I was unable to find anything on it when doing a quick google search so I guess I'm the one of the first-ish people to discover this issue. I apologize if I accidently misuse some programming terminology as I'm not an expert at this stuff.


Problem

Here is an example of the normal output when a list reporter block is executed.





Notice how the output has spaces to separate each of the items. This makes the data distinguishable from a big conjoined blob and a nice orderly list. Also take notice of the image on the right. Each of the items have different values, this will be important to understanding the issue later on.





Here is an example of the not so normal output of a reporter list block when it is executed.



When a list full of items with the exact same value is made, for some reason the list reporter block won't add any spacing to the items.

(for those wondering I used the letter “l” instead of numbers to make the spacing problem more clearer)


Additional information

I found this out later when writing this, but the issue is not limited to lists with items of the same value. Lists with items that contain one character/number and have different values will also appear with no spaces when the reporter block is clicked.

This issue can be fixed by simply adding or changing a item and giving it a different value. Make sure the item changed/added has more than 1 character or else it will still look like this:



Conclusion

When a list is made with items that contain only one character, the list reporter block won't add spaces to separate the items.

Last edited by KuhliLoach (Sept. 18, 2021 22:01:37)

D-ScratchNinja
Scratcher
1000+ posts

List reporter block bug. Spacing issue.

Actually, I believe this is intentional. I think it bunches the characters together like this in case you have lists that are just a big code when put together, and I was thinking about this being useful in a few situations for doing certain operations such as…
<(list that has one-char long items ::list) contains [something] ::operators>
KuhliLoach
Scratcher
2 posts

List reporter block bug. Spacing issue.

I red the scratch wiki. I understand that this isn't bug and there's actual utility to the feature, but I respectfully stand my ground. This feature shouldn't be in scratch, there are work arounds for the few situations you mention. The feature feels more like a bug than anything.

Imagine trying to find the length of a variable, but the:
 (length of (variable)) 
doesn't count the spaces in between the words, because the characters in your variable were one letter long.

My point is this feature is inconsistent and unreliable. This is exactly how I feel when the scratch reporter block doesn't add spaces.


Instead scratch could do something like this:
(list that has one char long items | add spaces? [ true/false v] :: list)
By adding a bool value on the list reporter block to control whether you want spaces added or not. This would both benefit people who need spaces and people who don't.


For now and the rest of eternity I will have to work around it, because this feature is going nowhere and scratch devs won't ever see or fix this.
SubscribeToZadpi
Scratcher
25 posts

List reporter block bug. Spacing issue.

I am having the same problem, except I WANT it to be without spaces and so it is always, except for some reason when I run this:
replace item ( 1) of [list v] with ((item ( 1) of [list v] :: list) + (1))
with any list, it suddenly reports all values on that list with a space. This is breaking my saving system on my game, but luckily I just coded a way to just remove the spaces and add that value to the save code.

Last edited by SubscribeToZadpi (March 3, 2024 10:23:29)

medians
Scratcher
1000+ posts

List reporter block bug. Spacing issue.

SubscribeToZadpi wrote:

I am having the same problem, except I WANT it to be without spaces and so it is always, except for some reason when I run this:
replace item ( 1) of [list v] with ((item ( 1) of [list v] :: list) + (1))
with any list, it suddenly reports all values on that list with a space. This is breaking my saving system on my game, but luckily I just coded a way to just remove the spaces and add that value to the save code.
That's because when Scratch sees all of the items in a list as 1 character strings, it reports the list without spaces, and otherwise, with spaces. Since you're adding 1, it no longer sees the first item as a string, but as a number, and starts reporting the list with spaces.
MrCloudGame
Scratcher
100+ posts

List reporter block bug. Spacing issue.

I found something: It always gets spaces if the list contains items with a lenght longer than 1 so if you only add 1,2,3,4,5,6,7,8,9 it will do it without spaces but if one of them is 10 (so down in lenght) it adds spaces. You just need to add one item at the end with 2 letters, number, etc…

Powered by DjangoBB