RadRails,Ruby,内容辅助和方法

时间:2011-07-09 19:04:12

标签: ruby rubygems aptana radrails

我是Ruby新手,我目前正在使用一个我不熟悉的API。为了使用代码完成,这有助于我学习,我在Eclipse中安装了RadRails。但是,我在使用内容辅助时遇到问题:具体来说,内容辅助不会透露API中对象的方法。

例如,我的一个对象ins表示加载的XBRL实例文档。如果我运行ins.methods,列表包含我想要的所有方法,包括API中的那些方法(例如允许我访问实例中项目的函数):

...
项目
item_all
item_all_groupby_vocab
item_all_map
item_by_vocab
item_ctx_filter
...

但是,如果我只输入ins。启用内容辅助后,它仅显示以下选项:

dclone
宝石
gem_original_require
JSON
路径名(路径)
...

似乎是系统选项。因此,内容辅助正好暴露了我实际想要使用的方法的零。如果我提前知道方法并开始输入它们,我可以通过按Ctrl + Space让Content Assist将它们提供给我。但是,这需要我提前知道我想要什么;因为我使用它来探索API,这对我不起作用。

有谁知道如何让RadRails / Eclipse向我展示正确的方法?

此致 马特

1 个答案:

答案 0 :(得分:3)

这是动态语言和IDE /编辑器固有的一般问题。 IDE必须猜测调用代码辅助的变量的类型,并从中生成适用方法的列表。

IRB在运行时具有类型信息,因此它知道适用的方法。 IDE正试图通过静态分析代码来猜测类型(不运行它)。

话虽如此,IDE通常应该能够正确猜测。提供调用此代码片段的更大上下文将有助于查看我们是否可以在此对象上提供有用的内容辅助。您可能希望提交带有版本号的票证,以及示例代码:http://aptana.com/r/apbugs