【发布时间】:2020-04-05 06:43:45
【问题描述】:
我可能遗漏了一些明显的东西,但似乎 Rubocop 在关闭 begin 块时跳过了 end 的对齐。
鉴于情况:
begin
# Foo
end
我希望“结束”有一个布局错误:Layout/EndAlignment end is not aligned with begin
但是,Rubocop 似乎认为这是正确的。
我希望 Layout/DefEndAlignment、Layout/EndAlignment 和 Layout/BlockAlignment 之一管理此行为,但其中任何一个选项似乎都没有任何效果。
任何 Rubocop 专家都知道如何修复此配置,或者这是一个潜在的错误?
在没有rescue 的情况下使用begin 的用例是使用记忆来设置计算值
@ivar ||= begin
# Do some stuff
# Do more stuff
# Then return the value
end
【问题讨论】:
-
我已尝试更改 Layout/DefEndAlignment、Layout/EndAlignment、Layout/BlockAlignment 和其他一些设置发布您尝试过的内容以及尝试的结果。不要让每个人都复制你已经尝试过并确定不是解决方案的工作。
-
@anothermh - 抱歉我不清楚。我的意思是更改所有/任何这些设置对任何类型的布局都有 0 影响。为了清楚起见,我会更新帖子。
-
您还没有说出您尝试过的内容。你本质上是在说“我知道一堆行不通的东西,但我不会告诉你它们是什么。我希望你花时间弄清楚我已经知道什么是行不通的。”想想你的听众。如果您尝试过 x 并得到结果 y 但想要结果 z,请解释 x、y 和 z 是什么。对您尝试过的每次迭代重复此操作。
-
我仍然不确定您希望如何准确地表达这个问题? Rubocop 有数千名不同的警察,我没有为我尝试过的每一个警察保留一个运行标签。我列出了相关的,因为那些是应该重要的,其余的无关紧要。
-
这就是我的观点:有 吨 的东西可以配置。您已经花时间尝试了一些东西,但它们都没有奏效。 您应该在您的minimal reproducible example 中发布您尝试但不起作用的事情。相反,你决定最好说“有很多选择,我没有跟踪我的工作,所以请复制我已经完成的所有工作,直到你找到我的答案。”想象一下,通过分享您所做的工作,您可以节省多少时间!想象一下,以最小的努力帮助您寻求帮助的人是多么有礼貌!
标签: ruby-on-rails ruby rubocop linter