質問

文書(輸出とはperlmodlibは)言います:

  

一般的な規則として、モジュールがある場合   その後、オブジェクト指向にしよう   輸出無ます。

しかし、その後も言うはperlmodlibます:

  

標準、バンドルされたモジュールがすべてです   明確に定義された中で動作するように期待   名前空間に関して方法   汚染彼らが使用しているため、   輸出モジュールます。

だから私は、あなたがOOと輸出は何も行っていない場合、あなたは本当に輸出業者が必要なのでしょう、だろうか?そうしない場合、それは標準モジュールのどれもが、厳密にこの意味でOOではない、またはあなたがする必要があるので、それは、誰かがあなたのモジュールから継承したい場合ことを、彼らはいくつかのことをEXPORT_OK意味するのか?ということを意味しませんか(?というのは本当です)それとも、ただuse MyModule; ... = new MyModuleことができるように輸出業者が必要なのでしょうか?

役に立ちましたか?

解決

あなたは正しいです。すべてがOBJECT ::サブ()または$ obj->サブ()が呼び出される場合、あなたは問題ないはずです。

継承のために、あなたは@ISAを使用するようにするつもりだ、とそのために、あなたが輸出を必要はありません。

また、あなたが与えた二重引用符は、モジュールに注ぐエクスポートされたデータに関してである。

あなたが使用している場合は、

:輸出業者を使用してエクスポートLIBに対してuse libname ();を、あなたは何をエクスポートしないことが保証されています。つまり、名前空間の汚染を防止するために用いることができる方法です。あなたが明示的に関数名でエクスポートした場合、それらはあなたが得るだけの機能です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top