Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl Eclipse EPIC插件和传递的复杂对象上的自动完成/内容辅助?_Perl_Autocomplete_Epic - Fatal编程技术网

Perl Eclipse EPIC插件和传递的复杂对象上的自动完成/内容辅助?

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->.

所以社区,

对于如何在将Perl模块的方法传递到一个方法中时一致地获得自动完成/内容辅助,是否有一个最佳实践编码标准。例如:

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,让它“意识到驼鹿”,那就太酷了