6

コード:

my $compare = List::Compare->new(\@hand, \@new_hand);
print_cards("Discarded", $compare->get_Lonly()) if ($verbose);

print_cards期待する (スカラー、配列への参照)。
get_Lonly配列を返します。print_cards に渡すことができるように、それを参照に変換する構文は何ですか? \@{$compare->getLonly()}たとえば、機能しません。

ありがとう!

4

1 に答える 1

14

あなたはおそらくしたいです

print_cards("Discarded", [$compare->get_Lonly])

サブルーチンは配列を返さず、値のリストを返します。で配列参照を作成できます[...]

他のバリアントは、明示的な配列を作成することです

if ($verbose) {
  my @array = $compare->get_Lonly;
  print_cards("Discarded", \@array)
}

最初の解決策は、これのショートカットです。


@{ ... }逆参照演算子です。配列参照が必要です。リストを与えると、これは思うように機能しません。

于 2013-07-10T17:03:35.953 に答える