Лучший способ экранирования и разэкранирования строк в Ruby?

Есть ли в Ruby встроенный метод для экранирования и разэкранирования строк? В прошлом я использовал регулярные выражения; однако мне пришло в голову, что Ruby, вероятно, постоянно выполняет такие преобразования внутри. Возможно, эта функциональность где-то раскрыта.

На данный момент я придумал эти функции. Они работают, но выглядят немного халтурно:

def escape(s)
  s.inspect[1..-2]
end

def unescape(s)
  eval %Q{"#{s}"}
end

Есть ли лучший способ?

27
задан b4hand 5 June 2015 в 01:39
поделиться