作者AntaresStar ()
看板Perl
标题Re: [问题] 点点(..)运算子两问
时间Tue Oct 29 00:18:41 2013
回到原本的问题 自问自答一下 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
1F:推 KaryuuIssen:能说明一下为什麽会印出0012300吗? 10/29 02:42
2F:→ KaryuuIssen:只知道DATA有7行所以会印出7个数字... 10/29 02:42
3F:→ AntaresStar:下一篇有解释了 10/29 10:11
4F:推 cutekid:推实验(Y) 10/29 11:11