小编Rab*_*der的帖子

范围运算符的Perl上下文是什么?

我是一个Perl新手.我想结合范围运算符来理解Perl上下文.这是我的代码.

use strict;
use warnings;

my $asc = ( 10 .. 50 );
print "$asc\n";
Run Code Online (Sandbox Code Playgroud)

我有两个疑问.

  1. 如果表达式(10 ... 50)返回一个数组,那么,因为它是一个标量上下文,所以应该为"asc"变量赋予数组的长度,即41.

  2. 如果expression(10 ..50)返回一个列表,那么,因为它是一个标量上下文,所以应该为"asc"变量分配列表中的最后一项,即50.

但是,我得到以下的呼喊..

Use of uninitialized value in range (or flip) at main.pl line ..
Run Code Online (Sandbox Code Playgroud)

感谢并欢迎任何指南.

perl

9
推荐指数
2
解决办法
567
查看次数

为什么rvm install 2.0.0要求输入sudo密码?

我正在尝试通过rvm安装ruby 2.0.0-p247.但是,它要求密码.提供sudo密码是正常的吗?我没有在sudoers文件中配置sudo密码.我正在使用Oracle Enterprise Linux 6 x64.

ruby rvm

6
推荐指数
2
解决办法
3193
查看次数

标量上下文中的Perl数组

我是Perl的新手.我正在尝试了解Perl上下文.我有以下Perl代码.

use strict;
use warnings;
use diagnostics;

my @even = [ 0, 2, 4, 6, 8 ];
my @odd = [ 1, 3, 5, 7, 9 ];
my $even1 = @even;
print "$even1\n";
Run Code Online (Sandbox Code Playgroud)

当我执行代码时,我得到以下输出...

1
Run Code Online (Sandbox Code Playgroud)

但是,正如我所读到的,下面的标量上下文应该将数组中的元素数量放在标量变量中.

my $even1 = @even;
Run Code Online (Sandbox Code Playgroud)

所以,这对我来说很奇怪.而且,代码内部会发生什么?

perl

3
推荐指数
1
解决办法
153
查看次数

标签 统计

perl ×2

ruby ×1

rvm ×1