用于显示长数组的Ruby样式
我正在使用用于显示长数组的Ruby样式,ruby,arrays,coding-style,Ruby,Arrays,Coding Style,我正在使用rubocop检查代码的样式约定是否符合最佳实践。我有一系列的颜色,想知道最好的方式来显示它们。我曾经读过,行的长度应该少于80个字符,所以我这样做了 colors = [:light_red, :red, :pink, :orange, :light_yellow, :yellow, :light_green, :green, :light_blue, :blue, :white, :black] 我从rubocop收到以下异常消息 C: Align the e
rubocop
检查代码的样式约定是否符合最佳实践。我有一系列的颜色,想知道最好的方式来显示它们。我曾经读过,行的长度应该少于80个字符,所以我这样做了
colors = [:light_red, :red, :pink, :orange, :light_yellow, :yellow,
:light_green, :green, :light_blue, :blue, :white, :black]
我从rubocop收到以下异常消息
C: Align the elements of an array literal if they span more than one line
这是否意味着我应该做这样的事
colors = [:light_red,
:red,
:pink,
:orange,
:light_yellow,
:yellow,
:light_green,
:green,
:light_blue
:blue,
:white,
:black]
这占用了很多空间,我觉得我的方式更有效
在ruby中显示多行数组的风格规则是什么。看起来你的变体是正确的。也许您对
robocop
的默认规则有所更改?关于在哪里结束一行有不同的想法,所以我不讨论这一点
如果您要在列表中的项目之间更改行,我可以说的一件事是,您应该在分隔符字符([
和]
)和第一个/最后一个项目之间也更改行。不是:
....... [:foo,
:bar,
:baz]
但是:
将项目缩进到与分隔符缩进级别相关的两个空格是一种惯例
另一个技巧是在如上所示的最后一项之后添加逗号。尽管这是可选的,并且对代码没有影响,但这将使您以后编辑列表(更改顺序、添加、删除项目等)更加容易。在v2.3中,您可以使用
可枚举#tinyfy
:
p colors.tinyfy(1)
[:浅红色,:红色,:橙色,:浅黄色,:黄色,:浅绿色,:浅蓝色,:蓝色,:白色,:黑色]
[:浅红色,:红色,:橙色,:浅黄色,:黄色,:浅绿色,:浅蓝色,:蓝色,:白色,:黑色]
[:浅红色,:红色,:橙色,:浅黄色,:黄色,:浅绿色,:浅蓝色,:蓝色,:白色,:黑色]
[:浅红色,:红色,:橙色,:浅黄色,:黄色,:浅绿色,:浅蓝色,:蓝色,:白色,:黑色]
除了这一点,在这种情况下,您应该使用
%i
文字。我想补充的是,如果您使用第二种方法,那么您可以使用选项卡,而不管人们将选项卡宽度设置为什么,因为这看起来都是正确的。
p colors.tinyfy(1)
p colors.tinyfy(2)
p colors.tinyfy(3)
p colors.tinyfy(4)
p colors.tinyfy(10)