看板 Perl 關於我們 聯絡資訊
回到原本的問題 自問自答一下 XD 改成這樣 $arr=[0,1,2,3,4,5,6,7]; while(<DATA>) { print $arr->[3..5]; } __DATA__ A B C D E F G 會印出0012300 於是可以發現在->[]裡的..確實被當成flip-flop 而且還可以看到flip-flop為true的時候 實際上值會從1開始一直++ ※ 引述《CindyLinz (Cindy Wang)》之銘言: : ※ 引述《CindyLinz (Cindy Wang)》之銘言: : : -- : : ◆ From: 112.121.80.249 : : 推 cutekid:推(Y),長知識 10/28 16:06 : : → cutekid:請問「跨越函數呼叫」那邊有例子嗎?不是很瞭解 ^_^ 10/28 16:06 : 就這樣的意思呀~ : sub processLine { : if( 3 .. 5 ) { : print $_; : } : } : while(<>){ : processLine(); : } : processLine 裡面的 3 .. 5 不會隨著進出 processLine 而重置~ : 用在這邊是方便啦, 只是這種隱藏地永久存在的狀態是比較危險的東西 :Q -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.248.64.208
KaryuuIssen:能說明一下為什麼會印出0012300嗎? 10/29 02:42
KaryuuIssen:只知道DATA有7行所以會印出7個數字... 10/29 02:42
AntaresStar:下一篇有解釋了 10/29 10:11
cutekid:推實驗(Y) 10/29 11:11