我正在使用Perl,我想在循环中创建变量.所以每个循环都会创建一个具有不同数字的变量.例如,第一个循环将创建:
num1 = x;
Run Code Online (Sandbox Code Playgroud)
第二个循环将创建
num2 =x;
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助
使用数组并在每次迭代时添加一个数字.
my @nums;
for (1..10) {
push @nums, $_; # your `x'
}
Run Code Online (Sandbox Code Playgroud)
如果你真的需要命名它们,那么哈希应该做得很好.我不推荐这个,但你可以做到.我只是向您展示如何以系统的方式"命名"事物,就像使用第一类变量一样.
my %hash;
my $i = 0;
for ( @list ) {
$hash{ 'num' . ++$i } = $_;
}
Run Code Online (Sandbox Code Playgroud)
同样,当数组执行类似的操作时,根据它们的顺序命名数字是没有意义的,而且你永远不必担心字典顺序会妨碍它.
因此,您应该通过命名变量来考虑您尝试解决的问题,以便确定这是否是最佳方法.
我只想回想一下,当我想输入与标量语法尽可能不同的时候我做了什么.它依赖于*_一个glob 的事实,但是在GLOB中没有使用某些槽.
所以你可以使用local %_;
因此,只有3个额外的字符可以用任何这种类型的伪变量键入:
$_{num001} += 43;
Run Code Online (Sandbox Code Playgroud)
当然,这是您必须输入的额外字符数相同的数量
$v{num001} += 43;
Run Code Online (Sandbox Code Playgroud)
同样.
| 归档时间: |
|
| 查看次数: |
1067 次 |
| 最近记录: |