真夏のピッチングでヘバりながらも第五回。 「関数呼び出し」と「メソッド呼び出し」 Perlは厳格なOO言語ではないので、定義したサブルーチンは関数でありメソッドであるという状態になる。 関数とメソッドの違いは、「クラスに属しているか」の1点に集約される。 つまり、関数は「言語の一機能」として呼び出されるのに対して、メソッドは「クラスの一機能」として呼び出される。 この違いは呼び出されるサブルーチン内で現れる。 例えば、MyAppクラスのfooサブルーチンをそれぞれの呼び方をすると package MyApp; sub foo { my @args = @_; print join(",", @args); } package main; # 関数呼び出し MyApp::foo('bar', 'buzz'); # bar,buzz # メソッド呼び出し MyApp->foo('bar', '