作者StarTouching (撫星)
看板Perl
標題[問題] 串列問題
時間Sun Mar 13 20:32:11 2011
我是Perl新手 有程式基礎 對串列有個小問題....
串列給定可以這樣寫:
@ary = (1,2,3);
或
@ary = (1..10);
或
@ary = @seq;
而foreach這樣用:
foreach(1,2,3){}
或
foreach(1..10){}
或
foreach(@seq){}
這樣有個小問題是 (1,2,3)才能代表串列 那為什麼foreach沒有兩層括弧?
如果串列的括弧可以被省略 那為什麼 @ary = 1,2,3; 這樣不行?
我知道Perl是個方便為上的語言,
但為求方便記憶, 想說還是問問看。
請問我該怎麼理解呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.251.167.15
推 drm343:foreach 是把 () 內所有元素一個一個抓出來,所以 1,2,3 03/14 00:16
→ drm343:能當成串列,但 @ary = 1,2,3; 只有 1 會被傳入 @ary,後面 03/14 00:17
→ drm343:2 跟 3 因為沒被傳入變數內,就直接掰掰了 03/14 00:18
→ drm343:@ary=1,2,3; 會有點像 @ary=1;$_=2;$_=3;$_=""; 03/14 00:20