/
キャラクター、 、|
を交互に表示するアニメーションを表示したい\
。
端末の同じセルに常に書き込むにはどうすればよいですか? カーソルを 1 つの位置に戻す必要があります。
/
キャラクター、 、|
を交互に表示するアニメーションを表示したい\
。
端末の同じセルに常に書き込むにはどうすればよいですか? カーソルを 1 つの位置に戻す必要があります。
chr(8)
ほとんどの端末は、カーソルを後ろに移動することでバックスペース ( ) を処理します。重要なのは、バッファリングを無効にすることです。
use Time::HiRes qw( sleep );
$| = 1; # Disable buffering on STDOUT.
my $BACKSPACE = chr(0x08);
my @seq = qw( | / - \ );
for (;;) {
print $seq[0];
push @seq, shift @seq;
sleep 0.200;
print $BACKSPACE;
}
print "$BACKSPACE $BACKSPACE";
perl でどのように出力するかはわかりませんが、これは通常、バックスペース文字 \b (ASCII コード 8) を出力することによって実現されます。たとえば、C++ では、これは char(8) を出力することによって行われます。