Issue #12275 has been updated by Shyouhei Urabe.

Status changed from Open to Feedback

We looked at this ticket on this month's developer meeting.  I then started to think that the "escape" you refer to is not that concrete.

Unescaping cannot work out without escaping.  In ruby, there already is a method called String#dump.  Is this what you want to negate?

~~~ruby
irb(main):001:0> puts "\u5b57".encode('CP932').dump
"\x8E\x9A"
=> nil
~~~

----------------------------------------
Feature #12275: String unescape
https://bugs.ruby-lang.org/issues/12275#change-58165

* Author: Andrew Bolshov
* Status: Feedback
* Priority: Normal
* Assignee: 
----------------------------------------
I think it will be usefull to have function that convert input string as it was written in prime qouted string or in double qouted string. It's part of metaprogramming.
Example:

~~~ ruby
class String
  # Create new string like it will be writed in qoutes. Optional argument define type of qouting used: true - prime qoute, false - double qoute. Default is double qoute.
  def unescape prime = false
    eval( prime ? "'#{self}'" : "\"#{self}\"" )
  end
end

"\\\t".unescape # => "\t"
~~~

Other requests:
http://www.rubydoc.info/github/ronin-ruby/ronin-support/String:unescape
http://stackoverflow.com/questions/4265928/how-do-i-unescape-c-style-escape-sequences-from-ruby
http://stackoverflow.com/questions/8639642/best-way-to-escape-and-unescape-strings-in-ruby

Realized
http://www.rubydoc.info/github/ronin-ruby/ronin-support/String:unescape



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>