关于“=>”的关于mojolicious的初学者问题

时间:2017-08-01 09:45:54

标签: mojolicious

MojoExample的mojolite脚本中,下面有几行,我想知道“=>”是什么意思是“blogstagtags => tags =>'perlsonal'”。我认为“=>”是散列键和值之间的分隔符。我可以在任何地方找到解释吗?

get '/blogs' => sub {
    shift->redirect_to(blogstagtags => tags => 'personal'); # Where is blogstagtags defined? #yaohe
    # blogstagtags is the route name for 'blogs/tag/(*tags)' by default #yaohe
};

get '/blogs/tag/(*tags)' => sub {
    my $self = shift;
    # Specified tags to search for: /tag/one/tag/two/tag/three
    my @tags = grep $_ ne 'tag' => split '/' => $self->param('tags');

    my @blogs = $self->db->resultset('Blog')->by_tags(@tags) or return $self->redirect_to('blogs');

    $self->render('blogs/index', blogs => [@blogs],);
};

2 个答案:

答案 0 :(得分:0)

blogstagtags => tags => 'personal' 

相同
blogstagtags => (tags=>'personal')

现在我可以自己回答这个问题。这是一个Perl语法问题,而不是mojolicious。哈希(tags =>' personal')被传递给参数' blogstagtags'。

答案 1 :(得分:0)

那个运算符只是“语法糖” 基本上像逗号,一样工作,期望在左边留出额外的余地来使用“裸词”

请参阅https://stackoverflow.com/a/4093914/1681985