コースの一部のコードの説明を書いていますが、誤って単語method
をfunction
交換して使用しています。私は戻って言葉遣いを修正することにしましたが、私の理解の穴にぶつかりました。
私が理解していることから、サブルーチンはfunction
クラスのインスタンスに作用しない場合(その効果は明示的な入力/出力に制限されます)、method
クラスのインスタンスに作用する場合(それはインスタンスへの副作用を排除します)。
このトピックに関しては良い議論があります。受け入れられた回答の定義によれmethod
ば、インスタンスは暗黙的に渡されることはなく、インスタンスのメンバーにアクセスできないため、static は実際には関数である必要があります。
ただし、これは気になっていますが、methods
実際にはstatic は関数ではありませんか?
それらの定義により、クラスの特定のインスタンスには作用しません。彼らは関係のためにクラスに「結びついている」だけです。静的サブルーチンを「メソッド」と呼ぶ見栄えの良いサイトをいくつか見たことがあります(Oracle、Fredosaurus、ProgrammingSimplified)ので、これらはすべて用語を見落としているか、何か不足しています(私の推測は後者です)。 。
正しい文言を使用していることを確認したいのですが。
誰かがこれを片付けることができますか?