在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],);
};
答案 0 :(得分:0)
blogstagtags => tags => 'personal'
与
相同blogstagtags => (tags=>'personal')
现在我可以自己回答这个问题。这是一个Perl语法问题,而不是mojolicious。哈希(tags =>' personal')被传递给参数' blogstagtags'。
答案 1 :(得分:0)
那个运算符只是“语法糖”
基本上像逗号,
一样工作,期望在左边留出额外的余地来使用“裸词”