【问题标题】:catalyst action accept 0-n args催化剂作用接受 0-n 参数
【发布时间】:2013-02-12 06:28:14
【问题描述】:

Catalyst 中有没有办法指定 sub 接受 0-n 参数,比如 0-1?所以一个动作可能是这样的:

sub add :Local :Args(#between 0 and 1) { 
    my ($self, $c) = @_;
    #catalyst code
}

我知道这样的事情可能可以通过正则表达式以某种方式解决,但我想知道是否有办法通过使用 Args 动作修饰符指定它来解决?谢谢!

【问题讨论】:

  • 您可以创建一个 Catalyst::DispatchType 子类来执行此操作,但似乎不存在。
  • 您可以使用:Regex 实现您想要的。当然,你也可以完全避免使用:Args:Regex,如果args 太多就会抛出错误。

标签: perl catalyst args


【解决方案1】:

除非您从该操作链接另一个操作,否则您可以完全删除 :Args 并测试自己是否提供了参数。来自documentation

No :Args at all 表示采用任意数量的参数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-04
    • 1970-01-01
    • 2020-08-03
    • 2016-09-08
    • 2020-01-05
    • 2020-12-14
    • 2013-04-10
    相关资源
    最近更新 更多