使用Ruby我将如何能够在写入输出文件的某些变量中自动转义单引号和双引号。来自PHP我正在寻找一个addslashes类型的函数,但在Ruby中似乎没有一个简单的解决方案。在Ruby中是否存在addslashes等价物?
require "csv"
def generate_array(file)
File.open("#{file}" + "_output.txt", 'w') do |output|
CSV.foreach(file) do |img, _, part, focus, country, loc, lat, lon, desc, link|
output.puts("[#{lat}, #{lon}, '#{img.downcase}', '#{part}', '#{loc}', '#{focus}', '#{country}', '#{desc}', '#{link}'],")
end
end
end
ARGV.each do |file|
generate_array(file)
end
输出是纯文本,格式是一种二维数组风格,在一个JavaScript程序我正在使用。 例如[123.123,123.123,'img','part','loc'... etc], 当其中一个字符串变量包含单引号时会出现问题。 –
如果输出应该在JavaScript中使用,为什么不节省大量的时间和精力并使用JSON? JSON定义良好,并且具有丰富的库支持:您只需构建正确的Ruby数据结构,在其上调用'to_json',然后转到更有趣的问题。 –
raina77ow,并且mu太短是的,这似乎是它的方式。谢谢 –