2

Java に似たソリューションを探しています。これにより、同じ名前でパラメーター リストが異なるメソッドを作成できます。

例えば

method makeDeposit() {
    system("cls");
    print "How much money do you want to deposit?: ";
    chomp (my $amount = <STDIN>);
    $self->insufficientFunds(0);
    $self->balance($self->balance() + $amount);
    $self->performBalanceInquiry();
    return;
}

method makeDeposit(Int $amount) {
    $self->insufficientFunds(0);
    $self->balance($self->balance() + $amount);
    $self->performBalanceInquiry();
    return;
}

ありがとう!

4

2 に答える 2

7

Perl は型付けが緩い言語であり、メソッド シグネチャの (疑似) 型名は、動的入力検証コードの省略形にすぎません。

しかし、CPAN の無限の土地には、MooseX::MultiMethodsやりたいことを実行できるモジュールが存在しますが、メソッドの前にmultiキーワードを付ける必要があります。

例えば

multi method makeDeposit() { ... }
multi method makeDeposit(Int $amount) { ... }
于 2013-04-12T19:20:09.720 に答える