Re: [問題] 利用while迴圈跑陣列變無窮迴圈?
因為 while 是提供 boolean context 關係。
通常會這樣寫
while( $f = shift @files ) {
unlink $f;
}
其實通常會只寫一行:
unlink $f for @files;
或是
map { unlink $_ } @files;
※ 引述《adbro (廣告王道)》之銘言:
: 各位大大好
: 小弟之前在實做一個刪除檔案的程式
: 我已經將要刪除的檔案名稱列表都存到陣列@files中,
: 但利用迴圈跑unlink時,卻變成無窮迴圈?
: 如下:
: while(@files){
: unlink($_);
: }
: 但執行下去變成無窮迴圈檔案也未刪除?
: 用for卻可以正常執行!
: 百思不得其解
: 想請教板上的大大們,是否小弟做法有誤?
: while與for不是一樣功能?
: 用while無法執行嗎?
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.229.24.37
推
03/14 13:25, , 1F
03/14 13:25, 1F
推
03/15 00:27, , 2F
03/15 00:27, 2F
→
03/16 18:44, , 3F
03/16 18:44, 3F
推
03/23 22:11, , 4F
03/23 22:11, 4F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Perl 近期熱門文章
PTT數位生活區 即時熱門文章