使用 trans 翻译单引号
Translating single quote using trans
我找不到将使用 trans
单引号转换为转义单引号的方法:
say ($ = "'well done'").=trans("'" => "\\'" ) ;# OUTPUT: «\well done\»
say ($ = "'well done'").=trans(<'> => Q [\'] ) ;# OUTPUT: «\well done\»
say ($ = "'well done'").=trans("'" => q"\\'" );# OUTPUT: «\well done\»
可能有一个解决方法,使用 split 或任何数量的其他东西,包括 subst
。原则上,第一个实际上产生\'
,这就是我一直在寻找的。也许加倍景观会有帮助?
我想这是 trans
的问题,但实际上您需要指定一个 "from" 列表和一个 "to" 列表,否则它只会将左侧解释为要翻译成其他字素范围的字素范围:
say "'well done'".trans("abcde" => "vwxyz" ); # OUTPUT: 'wzll yonz'
如果您创建一个字符串列表以将一个字符串转换为另一个字符串,您将获得所需的结果:
say "'well done'".trans(["'"] => ["\'"] ) # OUTPUT: \'well done\'
我找不到将使用 trans
单引号转换为转义单引号的方法:
say ($ = "'well done'").=trans("'" => "\\'" ) ;# OUTPUT: «\well done\»
say ($ = "'well done'").=trans(<'> => Q [\'] ) ;# OUTPUT: «\well done\»
say ($ = "'well done'").=trans("'" => q"\\'" );# OUTPUT: «\well done\»
可能有一个解决方法,使用 split 或任何数量的其他东西,包括 subst
。原则上,第一个实际上产生\'
,这就是我一直在寻找的。也许加倍景观会有帮助?
我想这是 trans
的问题,但实际上您需要指定一个 "from" 列表和一个 "to" 列表,否则它只会将左侧解释为要翻译成其他字素范围的字素范围:
say "'well done'".trans("abcde" => "vwxyz" ); # OUTPUT: 'wzll yonz'
如果您创建一个字符串列表以将一个字符串转换为另一个字符串,您将获得所需的结果:
say "'well done'".trans(["'"] => ["\'"] ) # OUTPUT: \'well done\'