这种List赋值行为以前还真没注意到
时间:2011-03-08
来源:互联网
$foo和$bar的值一样吗?
复制代码
- #!/usr/bin/perl
-
- use strict;
- use warnings;
-
- my $foo = (1, 2, 3);
- print "$foo\n";
-
- my $foo_1;
- my $foo_2;
-
- my $bar = (($foo_1, $foo_2) = (3, 2, 1));
- print "$bar\n";
作者: iLRainyday 发布时间: 2011-03-08
我以为$bar会是2
作者: ziyunfei 发布时间: 2011-03-08
我直到刚才为止也以为是2
作者: iLRainyday 发布时间: 2011-03-08
上面那个是逗号表达式,下面这个是赋值吧??
这种写法太纠结了
这种写法太纠结了
作者: Cu_fans 发布时间: 2011-03-08
更纠结的是,这是perldata中的写法。原话是这么说的:
QUOTE:
List assignment in scalar context returns the number of elements produced by the expression on the right side of the assignment:
$x = (($foo,$bar) = (3,2,1)); # set $x to 3, not 2
$x = (($foo,$bar) = f()); # set $x to f()'s return count
$x = (($foo,$bar) = (3,2,1)); # set $x to 3, not 2
$x = (($foo,$bar) = f()); # set $x to f()'s return count
作者: iLRainyday 发布时间: 2011-03-08
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28