模块在“1”中结束,那么它是不会的
发布时间:2020-12-15 22:04:56 所属栏目:大数据 来源:网络整理
导读:有一个简单的模块 package Rrr;use 5.014;use warnings;use namespace::sweep;use Moo;use Method::Signatures::Simple;BEGIN { our $VERSION = '0.0.1';}has 'root' = ( is = 'rw',default = 'root');method func { say 'This is the func method from ' .
有一个简单的模块
package Rrr; use 5.014; use warnings; use namespace::sweep; use Moo; use Method::Signatures::Simple; BEGIN { our $VERSION = '0.0.1'; } has 'root' => ( is => 'rw',default => 'root' ); method func { say 'This is the func method from ' . __PACKAGE__ . ' with value: ',$self->root; } 1; 谚语-1说 Code is not tidy at line 1,column 1. See page 33 of PBP. (Severity: 1) Module does not end with "1;" at line 17,column 1. Must end with a recognizable true value. (Severity: 4) Return value of flagged function ignored - say at line 18,column 5. See pages 208,278 of PBP. (Severity: 1) 如何使百灵达快乐? 编辑 – 基于@ toolic的评论 是的,整洁有助于第一个问题(但代码不整齐在第1行,第1列是不是很有帮助的消息),因为差异是: 13c13 < is => 'rw',--- > is => 'rw',18c18,19 < say 'This is the func method from ' . __PACKAGE__ . ' with value: ',$self->root; --- > say 'This is the func method from ' . __PACKAGE__ . ' with value: ',> $self->root; 但还是得到: Module does not end with "1;" at line 17,278 of PBP. (Severity: 1) 我的诡计: $perlcritic --version 1.125 解决方法
它看起来像Method :: Signatures :: Simple抛出的perlcritic的方法关键字.请注意PPI如何解析以下程序的差异:
$tools/ppidump 'method foo { 1 } 1;' PPI::Document PPI::Statement [ 1,1,1 ] PPI::Token::Word 'method' [ 1,8,8 ] PPI::Token::Word 'foo' PPI::Structure::Block { ... } PPI::Statement [ 1,14,14 ] PPI::Token::Number '1' [ 1,18,18 ] PPI::Token::Number '1' [ 1,19,19 ] PPI::Token::Structure ';' $tools/ppidump 'sub foo { 1 } 1;' PPI::Document PPI::Statement::Sub [ 1,1 ] PPI::Token::Word 'sub' [ 1,5,5 ] PPI::Token::Word 'foo' PPI::Structure::Block { ... } PPI::Statement [ 1,11,11 ] PPI::Token::Number '1' PPI::Statement [ 1,15,15 ] PPI::Token::Number '1' [ 1,16,16 ] PPI::Token::Structure ';' 当使用方法时,整个程序被视为单个语句;当使用sub,1;被视为单独的声明. 为了使perlcritic安静,您可以在方法的关闭括号后添加分号: method func { ... }; 1; 或者替代地 method func { ... } ;1; 不过,我认为amon在评论中提出了一个好点:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |