問題タブ [moose]

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.

0 投票する
2 に答える
558 参照

perl - MooseをKomodoに統合するにはどうすればよいですか?

ActiveStateのKomodoは、OSXおよびXPで私の好みのPerlIDEです。最近、 Mooseを使用して新しいプロジェクトのコーディングを開始しました。

Mooseの属性とメソッドの宣言を「識別する」方法をKomodoに教える方法を見つけた人はいますか?Komodoの「CodeBrowser/CodeExplorer」でMoose-Supportを見てみたいです。

0 投票する
1 に答える
263 参照

perl - Perl と Moose: MooseX::Method の代わりに使用すべき Moose ベースのパッケージ

MooseX::Method残念なことに、それはもはや維持されておらず、非推奨であることに気付きました。

パッケージMooseX-Method-Signaturesは代替品として宣伝されていますが、ドキュメントには次のように記載されています。これは ALPHA SOFTWARE です。自己責任。機能は変更される場合があります。

<whine>どうしたらいいですか</whine>

0 投票する
5 に答える
4733 参照

perl - PerlとMooseでファクトリをコーディングするにはどうすればよいですか?

MoosePerlを使用し、受信データに基づいてクラスをインスタンス化するためのより簡単な、またはより良い(=>保守が容易な)方法はありますか?

次のコードは、私が取り組んでいるプロジェクトから抜粋したサンプルです。

編集:これは、DBIを呼び出すときに発生することとほぼ同じであることに気づきました。渡すパラメータに応じて、(ほとんど)一貫性のあるインターフェイスを維持しながら、まったく異なるコードを使用します

0 投票する
1 に答える
239 参照

perl - Mooseのコンストラクタでのみ設定できる属性を作成することは可能ですか?

Mooseのコンストラクタでのみ設定できる属性を作成することは可能ですか? 私はこのようなことをしたいと思います:

コンストラクターで設定できない属性を作成できることはわかっていますが、補完的なケースが欠落しているようです。

0 投票する
4 に答える
1302 参照

c++ - OOP用のPerlでのMooseのC++のような使用法

私はムースと遊んでいて、それを感じ取っています。C ++のような純粋仮想関数の例を、Mooseの用語で(具体的にはC ++のように)例を挙げてください。SUPER::Mooseが通常のPerlよりも厳密なモデルを課している場合でも、(メソッド修飾子または呼び出しを介して)私が求めていることを実行する方法はまだ複数あります。そのため、可能な限りC++に似た実装を具体的に求めています。「なんで?」この制限の?主に好奇心がありますが、C++中心の人々がほとんど識別できる方法でMooseを使用してC++コードをPerlに移植することも計画しています。

0 投票する
2 に答える
1908 参照

perl - Moose オブジェクトをモックするにはどうすればよいですか?

Perl の人々は、型制約属性として他の Moose オブジェクトに注入する Moose オブジェクトをモックするときに、どのような戦略を使用しましたか?

Test::MockObject::Extendsは Moose でうまく動作しないようです。ただし、オブジェクトを特定のパッケージとして祝福する必要があるため、バニラの Test::MockObject は機能しません。他の人も同じように苦労したことがあると思います。どのように解決しましたか?

すでに CPAN にあるソリューションの追加ポイント。

0 投票する
3 に答える
2173 参照

perl - MooseX :: Declareを使用してBUILDARGSメソッドを作成する適切な方法は何ですか?

BUILDARGSを呼び出すときに、MooseX::Declareを正しく使用できません。

ファイルのインターフェイスとしてオブジェクトを作成しようとしています。(具体的には、ファイル内の次の数バイトを確認し、さらに処理するためにそれらを切り落とすことができるバイナリファイルへのインターフェイスが必要です。)

このようなオブジェクトの1つを作成できるようにしたい

そして、このように使用します

私のbinary_file_bufferクラスの定義/宣言は次のようになります

(ここに含めなかったコードのバッファーのロードと管理があります。これはかなり簡単です。)

method問題は、BUILDARGS宣言でキーワードを使用していることです。したがって、MooseX :: Declareは、の最初の引数としてbinary_file_buffer オブジェクトBUILDARGSを想定しています。ただしBUILDARGS、引数はnewに渡されるため、最初の引数は文字列a'binary_file_buffer'であり、パッケージの名前です。その結果、最初のコードスニペットで行ったように、newを使用してオブジェクトを作成すると、型チェックに失敗して終了します。(少なくとも、それが何が起こっているのかについての私の理解です。)

私が受け取るエラーメッセージは次のとおりです。

キーワードが$file_nameに提供する型チェックシュガーが好きですが、技術的にはメソッドではないmethodため、取得方法がわかりません。BUILDARGS

MooseX :: Declareには、$self作成をスキップする方法などがありますか?

私はこれを適切なMooseX::Declareの方法で行っていますか?それとも私は何かが足りないのですか?

0 投票する
6 に答える
1036 参照

performance - 非永続的なCGIプロセスでMooseのパフォーマンスを向上させるにはどうすればよいですか?

Mooseは素晴らしいオブジェクトフレームワークです。問題は、その依存関係と合わせて、それが非常に大きいことです。私たちのプロファイリングは、私たちのプラットフォームでは、Mooseをロードするだけで非永続的なCGIアプリケーションスクリプトに5〜6秒のオーバーヘッドが発生することを示しています。これは、これらの1回限りのアプリケーションには受け入れられません。

対照的に、永続的なプロセスシステム(FCGIなど)を使用している場合、この起動オーバーヘッドは排除され(つまり、一度だけ発生します)、すべてが順調です。私たちが抱えている問題は、すべてのコードが常に永続的なプロセスで実行されることを保証できないことです。

Mooseの機能が制限されたドロップイン置換としてMouseを使用することを調査しましたが、(この回答で述べたように)それは実行可能なオプションではないことが判明しました。Mooseで動作するように作成したライブラリは、微妙ではありますが重要な方法でMouseで動作しません。また、永続的な環境でMooseと「バニラ」CGI用のMouseの両方をサポートできるように、すべてのモジュールをフォークする必要はありません

そのため、次のオプションがあります。

  1. 必要に応じて、社内モジュールをフォークしてMooseまたはMouseのいずれかで動作します。(うん!)
  2. FCGI/Moose用のモジュールのみを開発してください。「バニラ」CGIはもうサポートしていません。永続的でないスクリプトを作成する必要がある場合、社内モジュールを活用することはできません。
  3. MooseまたはMouseのどちらも使用しないでください。ただし、他のオブジェクトフレームワークを使用してください。

どのオプションが最適ですか?現在、2に傾いています。バニラCGIとして何かを実行する必要がある場合は、それを吸い上げます。他のフレームワークはどうですか?私たちが見なければならないもっと軽量なものはありますか?

0 投票する
4 に答える
6043 参照

perl - Moose では、設定された属性をいつでも変更するにはどうすればよいですか?

設定するたびに変更する必要がある属性がある場合、この例で行われているように、アクセサーを自分で記述し、のコンテンツを直接いじる以外に、これを行う巧妙な方法はあり$selfますか?

を検討triggerしましたが、同様のアプローチが必要なようでした。

Moose$selfで考えられる悪い習慣でハッシュ参照を直接操作していますか、それとも問題がないことを心配していますか?

0 投票する
2 に答える
1250 参照

perl - Mooseでクラス変数を浮動小数点として宣言するにはどうすればよいですか?

Mooseでクラス変数を浮動小数点として宣言するにはどうすればよいですか?

以下の私の(架空の)サンプルは、「Real」、「Number」などのエラーを生成します...「Str」は機能しますが、目的を達成できません..検索/ Googleは、正しい検索用語をヒットできないため、役に立ちません。 。


PROBLEM.pm


main.pl