0

Perl の方程式で可能な変数を使用しようとしています。

例えば:

#!/usr/bin/perl -w

$a = "yellow";

$b = "orange";

$c = "col1fl0ur";

$c = $a + $b;

print "$a + $b = $c \n";

各変数$a, $b,の値を述べられるようになりたい$cです。

$a + $b = "col1fl0ur"

あなたは尋ねるかもしれません。ポイントは何ですか?を出力するだけcol1fl0urですが、この場合のように、さらに多くの変数も使用できるようにしたいと考えています。

#!/usr/bin/perl -w


###values###
$a = "yellow";

$b = "orange";

$c = "col1fl0ur";

$d = "derp";

$e = "oplo";

$f = "qwerty";


###defining the equation###
$c = $a + $b;

$d = $a + $c;

$f = $d + $c;


###Printing###
print "$a + $b = $c \n";
print "$a + $c = $d \n";
print "$d + $c = $f \n";
4

3 に答える 3

1

実際の問題を説明していただければ大変助かりますが、このようなものが役立つ場合があります。

andは予約済みの変数名であるため、ライブ コードでは決して使用しないでください。$a$b

use strict;
use warnings;

my ($a, $b, $c, $d, $e, $f) = qw( yellow orange col1fl0ur derp oplo qwerty );

### defining the equation ###

my %sum;
$sum{$a}{$b} = $c;
$sum{$a}{$c} = $d;
$sum{$d}{$c} = $f;

### Printing ###

for my $pair ([$a, $b], [$a, $c], [$d, $c]) {
  my ($p1, $p2) = @$pair;
  printf "%s + %s = %s\n", $p1, $p2, $sum{$p1}{$p2};
}

出力

yellow + orange = col1fl0ur
yellow + col1fl0ur = derp
derp + col1fl0ur = qwerty

$b + $a同じになりたい場合$a + $bは、明示的にそう言う必要があります。例えば、

$sum{$a}{$b} = $c;
$sum{$b}{$a} = $c;
于 2013-10-12T15:20:33.163 に答える