F
Federico Zagarzazú
Hi,
Why can't I substitute a single backslash in a string?
a = "\\6"
p a # => "\\6"
puts a # => \6
p a.sub('\', '')
Expected: "\6"
Got:
j:4: unterminated string meets end of file
j:4: parse error, unexpected $, expecting ')'
If I change the replacement to 'c', I get a new error:
j:4: parse error, unexpected tIDENTIFIER, expecting ')'
puts a.sub('\', 'c')
^
j:4: unterminated string meets end of file
Both substitution work fine when the pattern is a regular character.
The substitution also works if num('\') is a multiple of 2, example:
a = '\\6'
p a # => "\\6"
puts a # => \6
p a.sub('\\', '')
Expected: "6"
Got: "6"
Thanks for your time.
Why can't I substitute a single backslash in a string?
a = "\\6"
p a # => "\\6"
puts a # => \6
p a.sub('\', '')
Expected: "\6"
Got:
j:4: unterminated string meets end of file
j:4: parse error, unexpected $, expecting ')'
If I change the replacement to 'c', I get a new error:
j:4: parse error, unexpected tIDENTIFIER, expecting ')'
puts a.sub('\', 'c')
^
j:4: unterminated string meets end of file
Both substitution work fine when the pattern is a regular character.
The substitution also works if num('\') is a multiple of 2, example:
a = '\\6'
p a # => "\\6"
puts a # => \6
p a.sub('\\', '')
Expected: "6"
Got: "6"
Thanks for your time.