作者claus (La Jolla)
看板perl
標題一個顯示進度的loop
時間Wed Mar 8 13:39:41 2006
想寫一個顯示程式運作進度的loop
想要有下面的結果出來
<執行到10%的時後的畫面>
**
<執行到20%的時候的畫面>
****(多兩個**)
if (進度 % 10 == 0) {
print "**";
}
可是,他會等到程式全部跑完,才出現
***********************************************
而不會像我想像中出現
**
****
****** 的慢慢變長的動畫(在同一行)
然後我改成
if (進度 % 10 == 0) {
print "**\n";
}
就可以有類似動畫出現,可是會換行,變成
**
****
****** (共三行)
為什麼差個 \n 他print的時機就差這麼多呢?
是因為print會先把要print的東西存到一個buffer memory裡面,滿了才print嗎?
有什麼辦法達到我想要的結果呢?
感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.59.21
推 megaman1206:使用 $|=1; 03/08 15:23
→ Armonicos:試試看print STDERR "**" 03/08 15:45