看板 Perl 關於我們 聯絡資訊
我是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