[問題] 請問一個跳出兩層迴圈的問題 及 元素和陣列的比較

看板Perl作者 (ㄚ達)時間17年前 (2008/03/02 22:54), 編輯推噓0(006)
留言6則, 3人參與, 最新討論串1/1
以下是部份程式碼 1 #! usr/bin/perl 2 use strict; 3 my $i; 4 my @array=(1,3); 5 while($i<10){ 6 $i++; 7 print $i; 8 for (@array){ 9 next if ($i==$_ ); 10 } 11 $i++; 12 } Q1: 在第9行的部份,有沒有一個指令能跳出for迴圈,並繼續執行while的下一個變數, 也就是說,第11行的$i++並不會執行,而是從while的下一個變數開始執行, 我試過last了,但仍然會執行第11行 Q2: 另外我想問的是,有沒有類似這樣的寫法 if($i==@array),就是說, $i是否出現在@array內,照上面的程式來看,就是判斷是否出現1或者是3 煩麻一下了XD.. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.127.220.228

03/02 23:20, , 1F
1. perldoc -f last (last LABEL)
03/02 23:20, 1F

03/02 23:20, , 2F
3. if (grep { $_ == $i } @array)
03/02 23:20, 2F

03/02 23:44, , 3F

03/02 23:45, , 4F
上面連結跟 Q2 有關
03/02 23:45, 4F

03/03 12:04, , 5F
謝謝兩位,問題解決了
03/03 12:04, 5F

03/03 12:05, , 6F
附帶一提,原來5.10版算是大更新,呵~
03/03 12:05, 6F
文章代碼(AID): #17oh-u4L (Perl)
文章代碼(AID): #17oh-u4L (Perl)