RuboCop风格建议:“将'$:to_i'作为'变换'的参数而不是块。”

时间:2017-09-26 13:50:29

标签: rubocop

我想我不太了解风格建议。我正在将一个regexp传递给Transform,这被认为是一个“块”吗?如何在这种情况下将$:key传递给Transform?

CAPTURE_CASH_AMOUNT = Transform(/^\$(\d+)$/) do |digits|
  digits.to_i
end

1 个答案:

答案 0 :(得分:0)

  

[...]这被视为“阻止”了吗?

do - end中包含的任何内容都是Ruby中的一个块。

  

在这种情况下如何将&键传递给Transform?

Ruby为您实现Symbol#to_proc,允许使用块的简写&:method参数将单个方法发送到生成的对象。

在您的情况下,这是等效的:

CAPTURE_CASH_AMOUNT = Transform(/^\$(\d+)$/, &:to_i)