在控制台应用程序中,可以使用ascii转轮,如GUI等待游标,以指示工作正在完成。一个普通的旋转器循环使用以下4个字符:'|','/','-','\'

还有哪些循环动画序列可以为控制台应用程序增添趣味?


当前回答

如果你知道你在这个过程中走了多远,我喜欢百分比条。它看起来很漂亮,感觉很直观,很容易实现:

| 0%

|| 5%

|||||| 25%

||||||||||||||||||||| 100%

其他回答

由我的一个同事提供,这是C语言中一个漂亮的实现:

#define COW 2172
char* moo = "MO ";
void wrap() {
    int i,j;
    for(i=0;doSomething(i);i++)
        j=COW-moo[i&3],fputs(&j,stderr);
}

根据我的分析,它只能在至少有32位单词和ASCII字符集的小端计算机上工作。但它相当聪明。

我见过

 echo -e "\033[41;1m$1 \033[0m"

在bash中基于块字符连续构建进度条。

如果你知道你在这个过程中走了多远,我喜欢百分比条。它看起来很漂亮,感觉很直观,很容易实现:

| 0%

|| 5%

|||||| 25%

||||||||||||||||||||| 100%

绝对LOLLERSKATES !

    /\O    |    _O    |      O
     /\/   |   //|_   |     /_
    /\     |    |     |     |\
   /  \    |   /|     |    / |
 LOL  LOL  |   LLOL   |  LOLLOL
-----------+----------+-----------
  Frame 0  | Frame 1  |  Frame 2   

在Javascript中使用一个jQuery选择器:

var spins = [
    "←↖↑↗→↘↓↙",
    "▁▃▄▅▆▇█▇▆▅▄▃",
    "▉▊▋▌▍▎▏▎▍▌▋▊▉",
    "▖▘▝▗",
    "┤┘┴└├┌┬┐",
    "◢◣◤◥",
    "◰ ◳ ◲ ◱",
    "◴◷◶◵",
    "◐◓◑◒",
    "|/-\\"];

    var spin = spins[0],
        title$ = $('title'),
        i=0;

    setInterval(function() {
        i = i==spin.length-1 ? 0 : ++i;
        title$.text('('+ spin[i] +') Loading...');
    },300);