首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我的编辑器能提醒我红宝石中未定义的变量吗?

我的编辑器能提醒我红宝石中未定义的变量吗?
EN

Stack Overflow用户
提问于 2022-07-26 22:01:38
回答 1查看 44关注 0票数 0

我熟悉python,需要在我目前的工作中进行ruby开发。在设置我的编辑时,我注意到一些比我喜欢的更经常地咬我的东西:

--我的编辑器没有提醒我注意ruby中未定义的变量

据我所知,Pylint会在python中提醒我这一点,rubocop对ruby则不这么做。

我无法确定的是:是否有可能填补这一空白?

作为参考,我将新病毒CoC白酒结合使用。CoC用于完成,并运行LSP。如果需要的话,我很乐意把另一种工具加入其中。

下面是一些人为的示例代码,如果修复了,则需要打印:

代码语言:javascript
复制
omg
wtf
bbq
foo
bar

Python:

代码语言:javascript
复制
# pylint: disable=missing-function-docstring,disallowed-name,missing-module-docstring
def omg():
    output = "omg"
    print(output)
    return output


def wtf():
    output = "wtf"
    print(output)
    return output


def bbq():
    output = "bbq"
    print(outtputt)
    return output


def foo():
    output = "foo"
    print(outtputt)


if __name__ == "__main__":
    omg()
    wtf()
    bbq()
    foo()
    print("bar")

红宝石:

代码语言:javascript
复制
# frozen_string_literal: true

def omg
  output = 'omg'
  puts output
  output
end

def wtf
  output = 'wtf'
  puts output
  output
end

def bbq
  output = 'bbq'
  puts outtputt
  output
end

def foo
  output = 'foo'
  puts outtputt
end

if __FILE__ == $PROGRAM_NAME
  omg
  wtf
  bbq
  foo
  puts 'bar'
end

在上面的python上运行vanilla pylint将提供给我:

代码语言:javascript
复制
python_var_error.py:16:10: E0602: Undefined variable 'outtputt' (undefined-variable)
python_var_error.py:22:10: E0602: Undefined variable 'outtputt' (undefined-variable)
python_var_error.py:21:4: W0612: Unused variable 'output' (unused-variable)

然而,在上面的红宝石上运行香草rubocop只会给我:

代码语言:javascript
复制
ruby_var_error.rb:22:3: W: Lint/UselessAssignment: Useless assignment to variable - output. Did you mean outtputt?
  output = 'foo'

我可以使用什么工具(如果有的话)来提醒我上面ruby中第17行的错误?

到目前为止,我发现的一切(示例)似乎都是粗略的“红宝石做不到,你是索尔。”

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-26 22:08:56

我可以使用什么工具(如果有的话)提醒我在上面的红宝石第17行的错误?

没有(静态)工具可以用于警告第17行的错误,因为第17行没有(静态)错误。第17行是完全有效的Ruby代码,它调用一个名为outtputt的方法,并将结果作为参数传递给puts的方法调用。

由于没有(静态)错误,因此不可能有显示错误的(静态)工具。

显然,如果未定义该方法,这将是一个运行时错误,并将被您的测试捕获。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73130202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档