【发布时间】:2018-09-06 18:27:50
【问题描述】:
Ruby 不是一种静态类型的语言,因此代码完成引擎实际上不可能准确地知道任何函数将返回什么类型。
但是,有时程序员知道。以下面的代码为例,它使用元编程来“混淆”代码完成:
class Example
define_method :foo do
2 + 2
end
def bar
foo_result = foo
end
end
静态分析器不知道foo 的存在,因此无法为其提供代码补全。尽管foo 将永远是Integer,我们知道,但我只获得BasicObject 的代码完成。
有没有办法告诉代码完成引擎我知道某事将是哪种类型,以便我得到更好的完成结果,而解释器会简单地忽略它?
【问题讨论】:
-
但我们真的“知道”红宝石吗? We Know Nothing
标签: ruby ide rubymine code-completion