Состояние выхода в строковом литерале в качестве аргумента `String # tr`

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

'\\'.tr('\\', 'x')      #=> "x"
'\\'.tr('\\d', 'x')     #=> "\\"
'\\'.tr('\\\d', 'x')    #=> "x"
5
задан sawa 5 March 2016 в 17:50
поделиться