KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I don't understand this Ruby code: >> puts '\\ <- single backslash' # \ <- single backslash >> puts '\\ <- 2x a, because 2 backslashes get replaced'.sub(/\\/, 'aa') # aa <- 2x a, because two backslashes get replaced so far, all as expected. but if we search for 1 with /\\/ , and replace with 2, encoded by '\\\\' , why do we get this: >> puts '\\ <- only 1 ... replace 1 with 2'.sub(/\\/, '\\\\') # \ <- only 1 backslash, even though we replace 1 with 2 and then, when we encode 3 with '\\\\\\' , we only get 2: >> puts '\\ <- only 2 ... 1 with 3'.sub(/\\/, '\\\\\\') # \\ <- 2 backslashes, even though we replace 1 with 3 anyone able to understand why a backslash gets swallowed in the replacement string? this happens on 1.8 and 1.9.
Tags (comma-separated)
Save Edits
Cancel