0

我是 Ruby 新手,目前正在使用我不熟悉的 API。为了使用有助于我学习的代码完成,我在 Eclipse 中安装了 RadRails。但是,我在使用 Content Assist 时遇到了问题:具体来说,Content Assist 没有显示 API 中对象的方法。

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

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

但是,如果我只是输入 ins。启用 Content Assist 后,它只显示如下选项:

dclone
gem
gem_original_require
JSON
Pathname(path)
...
等等。

这似乎是系统选项。结果,Content Assist 完全公开了零个我真正想要使用的方法。如果我提前知道方法并开始输入它们,我可以让 Content Assist 最终将它们提供给我,方法是按 Ctrl+Space。但是,这需要我提前知道自己想要什么;因为我使用它来探索 API,所以这对我不起作用。

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

问候, 马特

4

1 回答 1

3

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

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

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

于 2011-07-11T15:55:38.907 回答