我从另一个开发人员那里继承了一个 Ruby on Rails 项目(v 2.0),我试图通过在其上运行 rubocop 来清理它。对于那些不知道的人,rubocop 只是一个用于确保代码在整个项目中标准化和清洁的工具,它还能捕捉到一些格式错误和其他错误。下面的第 3 行(数据 = $1)显示了我受到攻击的函数:
def save_file(photo_data)
photo_data =~ /data:image\/jpeg;base64,(.*)/
data = $1
File.open(raw_photo_location, 'wb') do |f|
f.write(Base64.decode64(data))
end
return true
end
Rubocop 在该行的消息指出:“更喜欢使用 MatchData 而不是 1 美元。”
我不确定如何有效地纠正这个偏好问题,因为我对 Ruby on Rails 及其语法和语义最熟悉。我所知道的是 $1 是一个全局变量。任何人都可以在这里指导我进行格式修复吗?我感谢任何人的高级帮助,如果这个问题真的很愚蠢,我深表歉意。