Ruby를 사용하면 출력 파일에 쓰여지는 변수 중 일부에서 자동으로 작은 따옴표와 큰 따옴표를 이스케이프 처리 할 수 있습니다. PHP에서 오는 것은 addslashes 유형의 함수를 찾고 있지만 Ruby에서는이를위한 간단한 해결책이없는 것 같습니다. 예를 들어Ruby에 addslashes가 있습니까?
.gsub(/['"\\\x0]/,'\\\\\0')
:
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
출력은 일반 텍스트, 형식이 내가 일하고 있어요 자바 스크립트 프로그램에서 사용되는 2 차원 배열 스타일의 일종이다. 예를 들어 [123.123, 123.123, 'img', 'part', 'loc'... 등], 물론 문자열 변수 중 하나에 작은 따옴표가 포함되어있을 때 문제가 발생합니다. –
출력이 JavaScript에서 사용될 예정이라면 많은 시간과 노력을 절약하고 JSON을 사용해야하는 이유는 무엇입니까? JSON은 잘 정의되어 있으며 방대한 라이브러리 지원을 제공합니다. 바로 Ruby 데이터 구조를 만들고 거기에'to_json'을 호출하고 더 흥미로운 문제로 넘어갑니다. –
raina77ow, mu가 너무 짧습니다. 그래, 그렇게 될 것 같습니다. 감사합니다 –