我在尝试使用类常量分配属性读取器时遇到不明确的 splat 运算符错误。
Class X1
CONST = [:a, :b, :c]
attr_reader *CONST
end
但是,我尝试了一些变通方法,但仍然会导致 rubocop 攻击/语法错误。以下是一些尝试过的方法:
Class X1
CONST = [:a, :b, :c]
attr_reader(*CONST)
end
Class X1
CONST = [:a, :b, :c]
attr_reader(*(CONST))
end
最佳答案
这工作正常,Rubocop 没有发现任何可提示的地方(除了缺少关于 X1
的文档):
class X1
CONST = %i[a b c].freeze
attr_reader(*CONST)
end
x = X1.new
p x.a
# nil
p x.b
# nil
p x.c
# nil
关于ruby-on-rails - Splat (*) 运算符攻击与常量和 attr_reader 与 rubocop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43518070/