我需要在API中以单引号提供整数值。
执行11.to_s
会返回双引号:"11"
。插值仅适用于双引号。
我想要的是:
'11'
答案 0 :(得分:1)
不清楚你想要做什么,但也许是这样的:
"'#{11}'" # => "'11'"
答案 1 :(得分:0)
看起来你很难混淆Ruby如何用这些字符串实际上代表字符串。在像irb
这样的交互式工具中,您将在运行的每个命令中看到inspect
的结果:
5
# => 5
5.to_s
# => "5"
字符串本身并不包含双引号,但Ruby使用那些来与您沟通,您所看到的是一个包含5而不是整数值的字符串,否则看起来会相同。
与实际显示相比较:
puts 5
puts 5.to_s
这里的结果是相同的。没有引用,因为您不是检查字符串,而是显示它们。
您撰写字符串或以人类可读的形式表示字符串的方式通常与其所包含的内容大相径庭。例如:
%Q[\x68\x65\x6c\x6c\x6f]
# => "hello"
第一件事看起来什么都没有像Ruby那样解释它,但那是因为Ruby在如何定义字符串方面具有很大的灵活性。 \n
和\t
之类的内容只是您会看到的一些角色。