【问题标题】:RadRails, Ruby, Content Assist and MethodsRadRails、Ruby、内容辅助和方法
【发布时间】:2011-07-09 19:04:12
【问题描述】:

我是 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。启用内容辅助后,它只显示如下选项:

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

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

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

问候, 马特

【问题讨论】:

    标签: ruby rubygems aptana radrails


    【解决方案1】:

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

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

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

    【讨论】:

    • 谢谢克里斯托弗。我会提交一张票并尝试更明确。
    猜你喜欢
    • 2011-04-24
    • 1970-01-01
    • 2013-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-24
    • 1970-01-01
    相关资源
    最近更新 更多