0

私はperlでメソッドを作成する方法について本当に混乱しています。私がやりたいのは、
printdoc(%hash)というメソッドを作成することです。printdoc(%myhash)を呼び出して、メソッドの内容を使用して情報を出力し、コードに戻ることができるようにしたいと思います。ここでの私の使用法は、特定の同じ方法で印刷したいいくつかのハッシュがあることですが、コードをコピーして貼り付ける代わりに、代わりにそれを呼び出すことができるようにしたいと思います。

4

1 に答える 1

2

subキーワードを使用します:

sub printdoc {
  my %hash = shift;
  # do whatever
}

printdoc(%hash)

ただし、これは%hashコピーされるため、最適ではありません。むしろ、参照を渡す方が良いです:

sub printdoc {
  my $hash_ref = shift;
  my %hash = %$hash_ref;
  # do whatever
}

printdoc(\%hash);

ちなみに、これは「サブルーチン」または「関数」と呼ばれます。「メソッド」は、具体的にはオブジェクトに対する関数です。オブジェクト指向の答えを得ているだけなのも不思議ではありません。:)

于 2012-12-11T06:57:20.007 に答える