我正在尝试利用RubyMine快速文档和代码完成.我很高兴发现它融合了YARD风格的评论:
# @param [Numeric] width
# @param [Array<String>] values
# @return [Widget]      
def foo(width, values)
...这些注释非常适用于参数,返回类型,甚至是类型集合.但是我找不到任何类似的标签或者局部变量,我很确定Ruby中没有可用的类型转换(我提到我是新手吗?)
有没有办法将RubyMine引入本地和/或实例变量的类型?
Wis*_*uck 14
根据Matt Connolly引用的问题跟踪器最近的评论,它似乎即将发布:http://youtrack.jetbrains.com/issue/RUBY-9142#comment=27-787975
"局部变量可以使用或不使用变量名称进行注释:"
# @type [String]
my_var = magic_method
# @type my_var [String]
my_var = magic_method
# @type [String] my_var
my_var = magic_method
# @type [String] my_var And some documentation is allowed
my_var = magic_method
"还支持多项任务:"
# @type my_var [String] The first part
# @type other_var [Range] The second part
my_var, other_var = magic_method
"但是在多项任务的情况下,没有var名称的表格不起作用(这是有争议的,但我倾向于它可能会导致一些错误)
块参数也可以注释:"
method_with_block do
  # @type [String] param1
  # @type [Range] param2
  | param1, param2 |
  # some code...
end
"需要注意的是,类型注释将放在do或{和块参数列表之前,以帮助避免可能的歧义.在单行的情况下,它看起来很麻烦,但我不确定它们是否会很重无论如何,任何建议都是非常受欢迎的."
对于这个特定的问题,这不是100%的答案,但可以指出其他有用的技巧.
在测试中,我这样做是为了欺骗RubyMine(5.0.2)
user = users(:normal) || User.new
因为使用fixtures我确信用户(:first)将返回该对象,并且由于Use.new - IDE认为它应该是User实例.
| 归档时间: | 
 | 
| 查看次数: | 4290 次 | 
| 最近记录: |