何时使用百分率i方法创建带有符号的数组?

时间:2018-08-01 14:53:10

标签: ruby-on-rails ruby cancan cancancan

在Ruby中,有一种创建符号数组的好方法。 i方法的百分比。

%i[a b c]

我正在基于团队的环境中工作,尽管我看到这对于处理大量数组很有用,但我已经将其实现为所有

a = %i[]    # Empty array

cancan能力

  can :manage, :all
  cannot %i[create show update], AModel
  cannot %i[create], BModel
  cannot %i[show], CModel

使用这种方法或只是初始化所有数组是否很好

  cannot [:create, :show, :update], AModel

我知道没有“正确”的方法,但是我希望通过利弊来帮助我做出决定

1 个答案:

答案 0 :(得分:1)

就语言本身而言,两者之间没有重要区别,因此实际上归结为偏好问题。就个人而言,我认为符号文字([:create, :show, :update])的数组看起来更像Ruby,这就是我要用的,但是您应该与您的团队讨论。最重要的部分是保持一致,您不想一个人做决定。

通常情况下,什么时候使用%i而不是写出符号的文字数组,如果前者是具有特定含义的符号列表,例如类常量或符号列表,我会考虑使用前者一些东西,而不仅仅是一对。我已经使用Ruby一段时间了,直到这个问题没有真正表明%i的存在,因此相对不常用。它可能不在Rubyist的平均词汇范围内,所以这可能是远离它的另一个原因。