我想在不使用Perl中的第三个变量的情况下交换两个变量值,例如: G:
my $first = 10;
my $second = 20;
请建议我如何以简单的方式在Perl中执行此操作。
答案 0 :(得分:21)
你可以写:
($first, $second) = ($second, $first);
答案 1 :(得分:21)
只提供给我们的最佳方式就是在一行中你可以交换价值:
($first, $second) = ($second, $first);
答案 2 :(得分:-1)
已经列出的Perl特定方法是最好的,但这是一种使用XOR的技术,它适用于多种语言,包括Perl:
use strict;
my $x = 4;
my $y = 8;
print "X: $x Y: $y\n";
$x ^= $y;
$y ^= $x;
$x ^= $y;
print "X: $x Y: $y\n";
X: 4 Y: 8
X: 8 Y: 4
答案 3 :(得分:-4)
使用简单的数学,你可以相对容易地做到这一点。
我们知道;
First = 10
Second = 20
如果我们说First = First + Second
我们现在有以下内容;
First = 30
Second = 20
现在你可以说Second = First - Second (Second = 30 - 20)
我们现在有;
First = 30
Second = 10
现在减去第一个的第二个,你得到First = 20
和Second = 10
。
答案 4 :(得分:-5)
$first = $first + $second;
$second = $first - $second;
$first = $first-$second;
这将交换两个整数变量 更好的解决方案可能是
$first = $first xor $second;
$second = $first xor $second;
$first = $first xor $second;
答案 5 :(得分:-6)
你可以使用这个逻辑
firstValue = firstValue + secondValue;
secondValue = firstValue - secondValue;
firstValue = firstValue - secondValue;
答案 6 :(得分:-6)
#!/usr/bin/perl
$a=5;
$b=6;
print "\n The value of a and b before swap is --> $a,$b \n";
$a=$a+$b;
$b=$a-$b;
$a=$a-$b;
print "\n The value of a and b after swap is as follows:";
print "\n The value of a is ---->$a \n";
print "\n The value of b is----->$b \n";