gpt4 book ai didi

ruby - 强制第一个散列和数组元素在 rubocop 中位于同一行

转载 作者:太空宇宙 更新时间:2023-11-03 16:42:23 28 4
gpt4 key购买 nike

我正在寻找一种方法来强制执行这种使用 rubocop 编写哈希和数组的方式:

a = { first: 'a',
second: 'b' }

我找到了强制右大括号和缩进的规则。但不能强制第一个元素与左大括号内联。可能吗?

到目前为止,我找到了 Style/FirstHashElementLineBreak,但它的作用恰恰相反。

为了强制右大括号与我使用的最后一个键在同一行:

Style/MultilineHashBraceLayout:
EnforcedStyle: same_line

但是如果不强制左大括号与第一个键在同一行,这种设置就没有意义。

我想问问曾经尝试过做类似事情的人,或者对 rubocop 的配置有很好了解的人,是否可以这样做,如果可以,怎么做?

最佳答案

首先,Style/MultilineHashBraceLayout 已重命名为 Layout/MultilineHashBraceLayout,其次,它的默认配置现在 symmetrical 完全符合您的要求想要。

From the docs :

When using the symmetrical (default) style:

If a hash's opening brace is on the same line as the first element of the hash, then the closing brace should be on the same line as the last element of the hash.

If a hash's opening brace is on the line above the first element of the hash, then the closing brace should be on the line below the last element of the hash.

所以在上面的代码上运行 rubocop --only Layout/MultilineHashBraceLayout 现在会产生违规行为。

关于ruby - 强制第一个散列和数组元素在 rubocop 中位于同一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43011137/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com