作者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
1F:推 drm343:foreach 是把 () 内所有元素一个一个抓出来,所以 1,2,3 03/14 00:16
2F:→ drm343:能当成串列,但 @ary = 1,2,3; 只有 1 会被传入 @ary,後面 03/14 00:17
3F:→ drm343:2 跟 3 因为没被传入变数内,就直接掰掰了 03/14 00:18
4F:→ drm343:@ary=1,2,3; 会有点像 @ary=1;$_=2;$_=3;$_=""; 03/14 00:20