LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1123|回复: 4

[已解]赋值问题

[复制链接]
发表于 2004-3-26 21:24:16 | 显示全部楼层 |阅读模式
@name1 = ("tom", "mary") ;       #将"tom" 和"mary"两个字符串赋给@name1
@name2 = ("john", @name1) ;   #此时的@name2 = ("john" , "tom" , "mary")
($one, @name3) = @name2 ;     #此时的$one = john  而@name3 = ("tom" , "mary")

上面是一个教程里的例子,第三行的赋值过程我不太明白。
发表于 2004-3-26 21:42:59 | 显示全部楼层
@name1 = ("tom", "mary") ; #将"tom" 和"mary"两个字符串赋给@name1
@name2 = ("john", @name1) ; #此时的@name2 = ("john" , "tom" , "mary")
($one, @name3) = @name2 ;
#因为@name2=("john" , "tom" , "mary")
#就是($one, @name3)=("john" , "tom" , "mary")
#$one只能是一个,而@name3可以有多个,就把'john'给了$one,其他给了@name3
#此时的$one = john 而@name3 = ("tom" , "mary")
发表于 2004-4-8 22:16:50 | 显示全部楼层
第三行的逗号给$one,@name3一个列表环境,@name2在赋值时展开,形成了下列的对应:(伪码)
($one,$name3[0],$name3[1])
($name2[0],$name2[1],$name[2])
 楼主| 发表于 2004-4-8 23:20:02 | 显示全部楼层
:thank
发表于 2004-4-9 01:14:08 | 显示全部楼层
undef
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表