問題タブ [exporter]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
perl - Perl で純粋な OO を使用する場合、Exporter は必要ですか?
ドキュメント (Exporter および perlmodlib) には次のように書かれています。
原則として、モジュールがオブジェクト指向になろうとしている場合は、何もエクスポートしません。
しかし、perlmodlib には次のようにも書かれています。
標準のバンドルされたモジュールはすべて、Exporter モジュールを使用するため、名前空間の汚染に関して明確に定義された方法で動作することが期待されます。
OO を行って何もエクスポートしない場合、Exporter は本当に必要なのでしょうか? そうでない場合、それは標準モジュールのどれもこの意味で厳密に OO ではないということですか、それともEXPORT_OK
、誰かがあなたのモジュールから継承したい場合にそれを行う必要があるため、いくつかのことを意味するのでしょうか? (それは本当ですか?)または、できるようにするためだけにエクスポーターが必要use MyModule; ... = new MyModule
ですか?
perl - What's the best way to have two modules which use functions from one another in Perl?
Unfortunately, I'm a totally noob when it comes to creating packages, exporting, etc in Perl. I tried reading some of the modules and often found myself dozing off from the long chapters. It would be helpful if I can find what I need to understand in just one simple webpage without the need to scroll down. :P
Basically I have two modules, A & B, and A will use some function off from B and B will use some functions off from A. I get a tons of warning about function redefined when I try to compile via perl -c
.
これを適切に行う方法はありますか?それとも私の設計は遅れていますか?もしそうなら、より良い方法は何でしょうか?私がこれを行った理由として、他のモジュール関数をこのモジュールにコピーして貼り付けて名前を変更するのを避けるためです。
perl - mod_perl で読み取り専用変数をエクスポートするにはどうすればよいですか?
この本全体で使用されているいくつかのスカラーをエクスポートするモジュールを作成することで、いくつかのPerl のベスト プラクティスを簡単に実行できるようにしようとしています。Constants
特に、 は$EMPTY_STRING
、私が作成するほぼすべての Perl スクリプトで使用できます。私が望むのは、これらのスカラーを自動的にエクスポートして、各スクリプトで明示的に定義せずに使用できるようにすることです。
使用例:
上記のコードを使用すると、エラーが発生します。
Readonly
宣言を次のように変更すると:
エラーは次のようになります。
これは mod_perl では不可能ですか?
perl - Perlでエクスポートされた関数の名前を変更するにはどうすればよいですか?
さまざまな関数をエクスポートするPerlモジュールがいくつかあります。(新しいモジュールで@EXPORTを数年間使用していませんが、古いスクリプトとの互換性のために@EXPORTを保持しています。)
一貫した命名ポリシーに変更するためにいくつかの関数とメソッドの名前を変更し、次のような行のリストを追加すると思いました
モジュールの最後で、古い名前を新しい名前にエイリアスします。
これは、古い名前がエクスポートされ、呼び出し元のスクリプトが非修飾名で関数を呼び出す場合を除いて機能します。この場合、サブルーチンが(呼び出し側モジュールに)見つからないことを報告します。
エイリアスが作成されていないときに、エクスポーターがBEGINでリストを準備していることが起こっていると思います。しかし、typeglob割り当てをBEGINブロックに入れてみましたが、それは役に立ちませんでした。
AUTOLOADを試しましたが、もちろん、呼び出し元のコンテキストで名前を使用できるようにはなりません。もちろん、一連のラッパー関数を書くこともできますが、それは面倒です。方法はわかりませんが、ラッパー関数を自動的に生成できる可能性があります。
これを処理するためのきちんとした方法の提案はありますか?
perl - Moose:エクスポーターを拡張するとコンストラクターが消えますか?
ここに私が理解できない奇妙なことがあります。古い標準の Exporter モジュールを使用して、いくつかの定数もエクスポートしたい Moose クラスがあります。ただし、クラスに追加extends Exporter
するとすぐに、何らかの理由で、デフォルトの Moose コンストラクターが継承されなくなり、致命的なエラーが発生します。
これは、問題を示す簡単なテストです。
行を削除extends
すると、問題がなくなります。
これは Moose 0.93 を使用しています。
perl - Perl の基本クラスとサブクラスの間で変数を共有するにはどうすればよいですか?
次のような基本クラスがあります。
をサブクラス化したいのですMyClass
が、メソッドは 1 つだけです。
MySubclass
そして、これを元の と同じように呼び出したいと思いMyClass
ますが、 からすべての変数と関数にアクセスできますExporter
。ただしExporter
、元のクラスから変数を取得しMyClass
て正しくエクスポートするのに問題があります。Exporter
サブクラス内で再度実行する必要がありますか? それは冗長で不明確に思えます。
サンプルファイル:
$ME
しかし、変数をインポートしようとするとコンパイル エラーが発生します。助言がありますか?
perl - エクスポートしたサブルーチンを Perl プログラムで呼び出せないのはなぜですか?
私は Perl を初めて使用し、次の問題に直面しています。次の問題が機能しない理由がわかりません。
私のPerlモジュールには以下が含まれています:
私のPerlファイルには以下が含まれています:
私はこのプログラムを実行し、見つけることができませんwhom
:
perl - モジュールからスクリプトにハッシュをエクスポートする
このスレッドに戻って参照すると、モジュールからデータをエクスポートする方法に苦労しています。1つの方法は機能していますが、実装したい他の方法は機能していません。
問題は、スクリプトの2番目のメソッドが機能しない理由です。(これは配布専用だと思うので、モジュールをh2xsしませんでした)
Perl 5.10/Linuxディストリビューション
モジュールmy_common_declarations.pm
脚本
事前にThx。
primefaces - 動的列を持つデータ テーブルからの Primefaces データ エクスポーター
動的列を持つプライムフェイスデータテーブルでプライムフェイスデータエクスポーターコンポーネントを正常に使用した人はいますか?
私の場合、Excel ファイルが生成されますが、空です。
しかし、動的列を含むデータテーブルではなく、すべてを同じにして通常のデータテーブルのみにすると、生成されたExcelファイルは空ではありません。
誰かがこれを行ったかどうかを確認しようとしています。
動的列を使用しないとうまくいきます。
私は PrimeFaces 2.2.1、JSF 2.0、poi-3.2-FINAL.jar を使用しています。
perl - Moose::Exporter で関数をエクスポートするにはどうすればよいですか?
$self->myfunc() を常に使用することなく、単純な func() 呼び出しだけで、サブクラス全体で使用する基本クラスから単純な関数をエクスポートしたかったのです。
Moose::Exporterの例でこれをやってみました
しかし、私は何を理解していませんでした
例が不完全に見えるため、実行していました。sugar3 はどこにも定義されていないため、どこでどのように使用するかわかりません。サブクラスで sugar3() を呼び出すことはできますか? sugar3() は秘密の Moose のものですか?
そして、それはこのことでした...文字通り
エクスポートされましたが、例がないため、何をしているのかわかりません。これは関数呼び出しですか?
とにかく、通常は Exporter で行うように関数をエクスポートする方法を説明しますが、代わりに Moose Exporter を使用します。また、ベースクラスの後に 3 レベルの継承がある場合、すべてのサブサブクラスがエクスポートされたものにアクセスできますか?関数?