Perl Eclipse EPIC插件和传递的复杂对象上的自动完成/内容辅助?
所以社区, 对于如何在将Perl模块的方法传递到一个方法中时一致地获得自动完成/内容辅助,是否有一个最佳实践编码标准。例如:Perl Eclipse EPIC插件和传递的复杂对象上的自动完成/内容辅助?,perl,autocomplete,epic,Perl,Autocomplete,Epic,所以社区, 对于如何在将Perl模块的方法传递到一个方法中时一致地获得自动完成/内容辅助,是否有一个最佳实践编码标准。例如: sub main { my $moduleObject = MyNameSpace::ModuleObject->new(); processModuleObject($moduleObject); } sub processModuleObject { my $moduleObject = shift; $moduleObject->.
sub main {
my $moduleObject = MyNameSpace::ModuleObject->new();
processModuleObject($moduleObject);
}
sub processModuleObject {
my $moduleObject = shift;
$moduleObject->... <- that is were I want context assist/auto-completion to work
}
我们是否应该了解任何编码最佳实践
/Thomas您可以将任何内容传递给processModuleObject方法。Perl中没有强类型参数和方法签名,或者至少没有强制执行它的机制 EPIC IDE怎么可能知道方法的参数是什么类型的?我不知道 尽管如此,您仍然可以使用Moose和可选的附加模块MooseX::Declare,这样您就可以编写
method processModuleObject (MyNameSpace::ModuleObject $myobj) { ... }
但是EPIC不会识别Moose语法和方法声明。因此,您将失去Eclipse“大纲视图”。但您最多会得到一些详细的运行时错误,这会使您指向传递参数的类型不匹配错误
我想,如果有人以这种方式扩展EPIC,使其具有“Moose感知”功能,那就太酷了。您可以将任何内容传递给processModuleObject方法。Perl中没有强类型参数和方法签名,或者至少没有强制执行它的机制 EPIC IDE怎么可能知道方法的参数是什么类型的?我不知道 尽管如此,您仍然可以使用Moose和可选的附加模块MooseX::Declare,这样您就可以编写
method processModuleObject (MyNameSpace::ModuleObject $myobj) { ... }
但是EPIC不会识别Moose语法和方法声明。因此,您将失去Eclipse“大纲视图”。但您最多会得到一些详细的运行时错误,这会使您指向传递参数的类型不匹配错误
嗯,如果有人用这种方式扩展EPIC,让它“意识到驼鹿”,那就太酷了