我想我不太了解风格建议。我正在将一个regexp传递给Transform,这被认为是一个“块”吗?如何在这种情况下将$:key传递给Transform?
CAPTURE_CASH_AMOUNT = Transform(/^\$(\d+)$/) do |digits|
digits.to_i
end
答案 0 :(得分:0)
[...]这被视为“阻止”了吗?
do
- end
中包含的任何内容都是Ruby中的一个块。
在这种情况下如何将&键传递给Transform?
Ruby为您实现Symbol#to_proc
,允许使用块的简写&:method
参数将单个方法发送到生成的对象。
在您的情况下,这是等效的:
CAPTURE_CASH_AMOUNT = Transform(/^\$(\d+)$/, &:to_i)