Re: [問題] 點點(..)運算子兩問

看板Perl作者時間10年前 (2013/10/29 00:18), 編輯推噓2(202)
留言4則, 3人參與, 最新討論串4/6 (看更多)
回到原本的問題 自問自答一下 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

10/29 02:42, , 1F
能說明一下為什麼會印出0012300嗎?
10/29 02:42, 1F

10/29 02:42, , 2F
只知道DATA有7行所以會印出7個數字...
10/29 02:42, 2F

10/29 10:11, , 3F
下一篇有解釋了
10/29 10:11, 3F

10/29 11:11, , 4F
推實驗(Y)
10/29 11:11, 4F
文章代碼(AID): #1IRevZEr (Perl)
文章代碼(AID): #1IRevZEr (Perl)