私は通常、これらの2つのオプションの異なる順列を無作為に試して、私が望む動作を得ることができますが、私は彼らが何をするのか正確には分かりません。違いを実証する具体的な例はありますか?Argsと:CatalystのCaptureArgsの違いは何ですか?
10
A
答えて
8
:CaptureArgs(N)
は、少なくともN個の引数が残っていれば一致します。これは、非終端の連鎖ハンドラーに使用されます。
:Args(N)
は、正確にN個のargsが残っている場合にのみ一致します。例えば
、
sub catalog : Chained : CaptureArgs(1) {
my ($self, $c, $arg) = @_;
...
}
sub item : Chained('catalog') : Args(2) {
my ($self, $c, $arg1, $arg2) = @_;
...
}
マッチ
5
/catalog/*/item/*/*
CaptureArgs
は、触媒中の連鎖方法において使用されます。
Args
マークはチェーンされたメソッドの終了を示します。 EXのために
:
sub base_method : Chained('/') :PathPart("account") :CaptureArgs(0)
{
}
sub after_base : Chained('base_method') :PathPart("org") :CaptureArgs(2)
{
}
sub base_end : Chained('after_base') :PathPart("edit") :Args(1)
{
}
連鎖方法上記は/account/org/*/*/edit/*
に一致します。
ここでbase_end
はチェーンの終了方法です。チェーンアクションの終了マークArgs
が使用されます。CaptureArgs
が使用されている場合、チェーンがまだ進行中であることを意味します。
Args
はまた、方法の引数を特定するための触媒の他の方法においても使用される。 CPAN Catalyst::DispatchType::Chainedからも
:うまくそれをクリアし
The endpoint of the chain specifies how many arguments it
gets through the Args attribute. :Args(0) would be none at all,
:Args without an integer would be unlimited. The path parts that
aren't endpoints are using CaptureArgs to specify how many parameters
they expect to receive.
関連する問題
- 1. Javaではargsとargghとargvの違いは何ですか?
- 2. main()とmain(String args [])の違いは何ですか
- 3. Perl CGIとCatalystの違いとパフォーマンスの特徴は何ですか?
- 4. * args、** kwargsとtupleとdictでの呼び出しの違いは何ですか?
- 5. 配列パラメータを持つメソッドとjavaのvar-argsを渡す方法の違いは何ですか?
- 6. $と$$の違いは何ですか?
- 7. `##`と `hashCode`の違いは何ですか?
- 8. typedefとの違いは何ですか?
- 9. NodeJS:「./ ..」と「..」の違いは何ですか?
- 10. {}())と{})の違いは何ですか?
- 11. `&`と `ref`の違いは何ですか?
- 12. `==`と `is`の違いは何ですか?
- 13. difftimeと ' - 'の違いは何ですか?
- 14. #{} $ {}と%{}の違いは何ですか?
- 15. ⊕と+の違いは何ですか?
- 16. アペンダーと〜の違いは何ですか?
- 17. "./"と "../"の違いは何ですか?
- 18. "$^N"と "$ +"の違いは何ですか?
- 19. %Qと%{}の違いは何ですか?
- 20. バックスティックと$()の違いは何ですか?
- 21. A`と ``の違いは何ですか[:] `
- 22. パッケージのインポートobjと何かの違いをインポートパッケージとPythonの何かの違いは何ですか?
- 23. Django 1.10のargsの正しい構文は何ですか?
- 24. XPathの//と?/の違いは何ですか?の使用は何
- 25. デバウンスを書くとき、fn.apply(context、args)のポイントは何ですか?
- 26. フレームとオブジェクトの違いは何ですか?フレームとオブジェクトの違いは何ですか?
- 27. リストと何か([_])と何か(_)の違い
- 28. UbuntuにCatalystとSQLiteをインストールするためのベストプラクティスは何ですか?
- 29. "final String ... args"という構文は何を意味するのですか?
- 30. ** kwargsとkwargs(* argsとargs)はいつ使用しますか?
、感謝します。 – friedo