Your challenge is to make an infinite loading screen, that looks like this: [![enter image description here][1]][1] --- Or, to be more specific: - Take no input. - Output `Loading...`, with a trailing space, but no trailing newline. - Infinitely cycle through the chars `|`, `/`, `-` and `\`: every 0.25 seconds, overwrite the last one with the next in the sequence. You can overwrite just the last character, or delete and rewrite the whole line, as long `Loading...` remains unchanged.</sub> --- # Rules - The output text must look exactly as specified. Trailing newlines/spaces are acceptable. - You should *not* wait 0.25 seconds before initially showing output - the first frame should be printed as soon as the program is run. - **Your program should be able to run indefinitely.** For example, if you use a counter for frames, the counter should never cause an error by exceeding the maximum in your language. - Although the waiting period between each "frame" should be 0.25 seconds, obviously this will never be exact - an error margin of 10% or so is allowed. - You may submit a function, but it must print to `stdout`. - You can submit an answer in a non-console (but still text-based) environment, as long as it is capable of producing the loading animation. - This is [tag:code-golf], so the shortest solution (in bytes) wins. Standard code-golf loopholes apply. - **If possible, please provide a gif of your loading screen in action.** --- # Example Here is the C++ code I used to create the example (ungolfed): <!-- language: lang-cpp --> #include <iostream> #include <string> #include <thread> using namespace std; int main() { string cycle = "|/-\\"; int i = 0; cout << "Loading... "; while (true) { // Print current character cout << cycle[i]; // Sleep for 0.25 seconds this_thread::sleep_for(chrono::milliseconds(250)); // Delete last character, then increase counter. cout << "\b"; i = ++i % 4; } } May the best golfer win! [1]: https://i.sstatic.net/d0hvj.gif