Для меня есть что-то загадочное в отношении escape-статуса обратной косой черты в одинарном строковом литерале в кавычках в качестве аргумента String # tr
. Можете ли вы объяснить разницу между тремя приведенными ниже примерами? Во втором я особо не понимаю. Чтобы избежать сложностей, я использую здесь 'd'
, который не меняет значения при экранировании в двойных кавычках ( "\ d"
= "d"
).
'\\'.tr('\\', 'x') #=> "x"
'\\'.tr('\\d', 'x') #=> "\\"
'\\'.tr('\\\d', 'x') #=> "x"