首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Eclipse EPIC插件和对传递的复杂对象的自动完成/内容辅助?

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

Stack Overflow用户
提问于 2011-09-18 18:19:42
回答 1查看 1.8K关注 0票数 2

所以社区,

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

代码语言:javascript
复制
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

}

让它工作的最好的工作是下面这些我不满意的地方:

代码语言:javascript
复制
sub main {
   my $moduleObject = MyNameSpace::ModuleObject->new();
   processModuleObject($moduleObject);
}

sub processModuleObject {

  my $moduleObject = MyNameSpace::ModuleObject->new();
  $moduleObject = shift;
  $moduleObject->runLogic();

} 

有没有我们应该知道的编码最佳实践?

/Thomas

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-18 22:38:27

您可以将任何内容传递给processModuleObject方法。Perl中没有强类型的参数和方法签名,或者至少没有强制执行它的机制。

EPIC IDE怎么可能弄清楚方法的参数是什么类型呢?我不知道。

不过,您可以使用Moose和可选的Add-on-Module MooseX::Declare,这样您就可以编写

代码语言:javascript
复制
method processModuleObject (MyNameSpace::ModuleObject $myobj) { ... }

但是EPIC不会识别Moose语法和方法声明。因此,您可能会丢失Eclipse的“大纲视图”。但您最多会得到一些详细的运行时错误,指示您在传递参数的位置出现类型不匹配错误。

如果有人用这种方式扩展EPIC,让它成为“驼鹿感知”,那就太酷了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7460848

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档