I am using ruby 2.7.5. I am trying to get ^~\&
assigned to a variable. I want string with only one backslash on it. I tried different things but none of them give me the desired result.
attempt normal string
irb(main):049:0> "^~\&"
=> "^~&"
thinking one \ is escaped
irb(main):050:0> "^~\\&"
=> "^~\\&"
thinking string literal will do
irb(main):052:0> '^~\&'
=> "^~\\&"
thinking one \ is skiped on literal
irb(main):053:0> '^~\\&'
=> "^~\\&"
trying how 3 backward slashes will look
irb(main):054:0> '^~\\\&'
=> "^~\\\\&"
some more attempts on how backslash works, it seems like we only get even number of back slashes
irb(main):056:0> "^~\\\&"
=> "^~\\&"
irb(main):057:0> "^~\\\\&"
=> "^~\\\\&"
irb(main):058:0> "^~\\\\\&"
=> "^~\\\\&"
same thing when we use single quote
irb(main):061:0> '^~\\&'
=> "^~\\&"
irb(main):062:0> '^~\\\&'
=> "^~\\\\&"
irb(main):063:0> '^~\\\\&'
=> "^~\\\\&"
I also looked Backslashes in single quoted strings vs. double quoted strings
as per the StackOverflow suggested, I tried their example but the results were not similar.
irb(main):055:0> 'escape using "\\"'
=> "escape using \"\\\""
so could you please help me with how can I get a string with only one backslash? Also, am I missing any string concepts?