我正在寻找一种方法来强制使用rubocop编写哈希和数组:
a = { first: 'a',
second: 'b' }
我找到了强制执行右括号和缩进的规则。但是不能强制第一个元素与开括号内联。有可能吗?
到目前为止,我找到了Style/FirstHashElementLineBreak
,但却恰恰相反。
要强制右括号与最后一个键位于同一行,我使用它:
Style/MultilineHashBraceLayout:
EnforcedStyle: same_line
但是,如果不强迫开口支架与第一把钥匙在同一条线上,这种设置就没有意义了。
我问的是那些曾经尝试做类似事情的人,或者对rubocop配置有很好了解的人,是否可以这样做,如果是的话,该怎么做?
答案 0 :(得分:0)
首先,Style/MultilineHashBraceLayout
已重命名为Layout/MultilineHashBraceLayout
,其次为symmetrical
的默认配置完全符合您的要求。
使用对称(默认)样式时:
如果哈希的左大括号与第一个元素位于同一行 哈希,然后结束括号应该在同一行 哈希的最后一个元素。
如果哈希的左括号位于第一个元素上方的行上 哈希,然后结束括号应该在最后一行下面 哈希的元素。
因此,对上面的代码运行rubocop --only Layout/MultilineHashBraceLayout
将产生现在的攻击。</ p>