Zazwyczaj mogę uzyskać pożądane zachowanie, po prostu losowo próbując różnych kombinacji tych dwóch opcji, ale nadal nie mogę powiedzieć, że dokładnie wiem, co robią. Czy istnieje konkretny przykład, który pokazuje różnicę?Jaka jest różnica między: Args i: CaptureArgs in Catalyst?
10
A
Odpowiedz
8
:CaptureArgs(N)
pasuje, jeśli zostało przynajmniej N args. Jest używany dla nie-terminali Chained handlers.
:Args(N)
pasuje tylko wtedy, gdy pozostało dokładnie N argumentów.
Przykładowo
sub catalog : Chained : CaptureArgs(1) {
my ($self, $c, $arg) = @_;
...
}
sub item : Chained('catalog') : Args(2) {
my ($self, $c, $arg1, $arg2) = @_;
...
}
dopasowania
/catalog/*/item/*/*
5
CaptureArgs
stosuje się w połączonych była metod Catalyst.
Args
oznacza koniec metody łańcuchowej.
Dla 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)
{
}
powyższych metod W powiązanych dopasować /account/org/*/*/edit/*
.
Tutaj base_end
jest końcową metodą łańcucha. Aby oznaczyć koniec połączonego działania, użyto Args
. Jeśli użyjemy CaptureArgs
oznacza to, że łańcuch nadal działa.
Args
jest również stosowany w innych metodach katalizatora do określania argumentów metody.
również z 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.
Powiązane problemy
- 1. Jaka jest różnica między (string [] args) a System.Environment.CommandLine?
- 2. Jaka jest różnica między mustRunAfter i dependsOn in Gradle?
- 3. Jaka jest różnica między .replace i -replace in powershell?
- 4. Jaka jest różnica między matrix() i as.matrix() in r?
- 5. Jaka jest różnica między `-Contains` i` -In` w PowerShell?
- 6. Jaka jest różnica między? : i ||
- 7. Jaka jest różnica między $ i $$?
- 8. Jaka jest różnica między! = I =! w Javie?
- 9. Jaka jest różnica między getAbsolutePath i getCanonicalPath
- 10. Jaka jest różnica między JavaBeans i ManagedBean
- 11. Jaka jest różnica między zwrotnego i obiecują
- 12. Jaka jest różnica między System.Windows.Controls.Control i System.Windows.Forms.Control?
- 13. Jaka jest różnica między: while and: when in clojure?
- 14. Jaka jest różnica między cholesky in numpy a scipy?
- 15. Jaka jest różnica między! i !! w yaml?
- 16. Jaka jest różnica między $ root i $ parent?
- 17. Jaka jest różnica między NaN i None?
- 18. Jaka jest różnica między System.Linq.Enumerable.WhereListIterator i System.Linq.Enumerable.WhereSelectListIterator?
- 19. Jaka jest różnica między isSaleable() i isAvailable()?
- 20. Różnica między * i? in Spring @Scheduled (cron = ".....")
- 21. Jaka jest różnica między Subtotal i BaseSubtotal?
- 22. Jaka jest różnica między DetachedCriteria i ICriteria
- 23. Jaka jest różnica między & # x00A0; i ?
- 24. Jaka jest różnica między lex i yacc
- 25. jaka jest różnica między dijit i dojo
- 26. Jaka jest różnica między Control.Select() i Control.Focus()?
- 27. Jaka jest różnica między apletami i SWING?
- 28. Jaka jest różnica między session.commit() i session.flush()?
- 29. Jaka jest różnica między ImageView.setBackgroundResource i ImageView.setImageResource?
- 30. Jaka jest różnica między Konwertuj i parsuj?
To ściąga go ładnie, dzięki. – friedo