在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
我知道没有“正确”的方法,但是我希望通过利弊来帮助我做出决定
答案 0 :(得分:1)
就语言本身而言,两者之间没有重要区别,因此实际上归结为偏好问题。就个人而言,我认为符号文字([:create, :show, :update]
)的数组看起来更像Ruby,这就是我要用的,但是您应该与您的团队讨论。最重要的部分是保持一致,您不想一个人做决定。
通常情况下,什么时候使用%i
而不是写出符号的文字数组,如果前者是具有特定含义的符号列表,例如类常量或符号列表,我会考虑使用前者一些东西,而不仅仅是一对。我已经使用Ruby一段时间了,直到这个问题没有真正表明%i
的存在,因此相对不常用。它可能不在Rubyist的平均词汇范围内,所以这可能是远离它的另一个原因。