如果可能的话,如何使用单引号使Ruby pp
函数在有效(可解析的)Ruby字符串中输出String?
rows = [{name:'test',id:'182572'},{name:"Kal'el",id:'125125'}]
require 'pp'
pp rows
输出是:
[{:name=>"test", :id=>"182572"}, {:name=>"Kal'el", :id=>"125125"}]
期望的输出是:
[{:name=>'test', :id=>'182572'}, {:name=>"Kal'el", :id=>'125125'}]
(是否可以在单引号字符串中使用引用单引号?)
没关系,我找到了答案,因为我对sawa的答案的编辑被拒绝了,我会把它放在这里:
class String
alias :old_inspect :inspect
def inspect
return old_inspect if self.include? "'"
"'#{self}'"
end
end
答案 0 :(得分:2)
你做不到。解析后的字符串不是双引号或单引号,它们只是字符串。如果希望字符串显示单引号,则必须编写自己的打印功能。
答案 1 :(得分:1)
重新定义String#inspect
。
class String
def inspect; "'#{self}'" end
end