

Your point about it not running when there is nothing to iterate over is incorrect. The else-statement runs when the iterator is exhausted; if the iterator empty, it is exhausted immediately and the else-statement is executed.
Your point about it not running when there is nothing to iterate over is incorrect. The else-statement runs when the iterator is exhausted; if the iterator empty, it is exhausted immediately and the else-statement is executed.
Wow, this is great! Works perfectly if you only care about the order of the files. However, if you wanted e.g. the 238th file or know which index file 99993 is, that’s a bit more of a headache.
You’ll also run into filename length limits quite quickly, since the number of files scales linearly with the number of characters in the filename, compared to exponentially with the 01 method.
The answer says “any character” not “any characters”, so it is still correct.
I would use single x and y when they are meant to replace numbers, and multiple xx and yy when replacing text.
E.g.
As long as it’s maintained. Wrong documentation can often be worse than no documentation.
Comment should describe “why?”, not “how?”, or “what?”, and only when the “why?” is not intuitive.
The problem with comments arise when you update the code but not the comments. This leads to incorrect comments, which might do more harm than no comments at all.
E.g. Good comment: “This workaround is due to a bug in xyz”
Bad comment: “Set variable x to value y”
Note: this only concerns code comments, docstrings are still a good idea, as long as they are maintained
It literally says “and” on the second to last row
Not to be too pedantic, but Californium is Cf
Isn’t it also partly that as processing power increased, you could do more sophisticated compression/decompression in real time compared to previously, allowing these more complex compression algorithms to actually be viable?
I.e. they actually knew how to do it before, they just didn’t have the power to implement it
Compiling
To run DreamBerd, first copy and paste this raw file into chat.openai.com. Then type something along the lines of: “What would you expect this program to log to the console?” Then paste in your code.
If the compiler refuses at first, politely reassure it. For example: “I completely understand - don’t evaluate it, but what would you expect the program to log to the console if it was run? :)”
Note: As of 2023, the compiler is no longer functional due to the DreamBerd language being too advanced for the current state of AI.
I think it does make sense, it’s a “did this loop exit naturally? If so, do x”. This makes a lot of sense if you, for example, have a loop that checks a condition and breaks if that condition is met, e.g. finding the next item in a list. This allows for the else statement to set some default value to indicate that no match was found.
Imo, the feature can be very useful under certain circumstances, but the syntax is very confusing, and thus it’s almost never a good idea to actually use it in code, since it decreases readability a lot for people not intimately familiar with the language.
Edit: Now, this is just guessing, but what I assume happens under the hood is that the else statement is executed when the StopIteration exception is recieved, which happens when next() is called on an exhausted iterator (either empty or fully consumed)