vin*_*boy 5 ruby string ruby-on-rails
我有一个字符串,它是Ruby on Rails的输出 render_to_string
在Ruby调试器中,这就是我得到的
pp string.inspect # -> blank
pp string # -> blank
pp string.Class # -> String
pp string.empty? # -> false
pp string.nil? # -> false
pp string.blank? # -> false
pp string.to_s # -> blank
Run Code Online (Sandbox Code Playgroud)
我知道字符串中有内容,因为logger.info string按预期返回字符串,但我不知道怎么做到.
有任何想法吗?谢谢!
编辑:我发现这个问题是非常本地化的.它只发生在我使用ruby-debugger时.它发生在任何带有百分号的字符串中.
例如,如果我创建了一个字符串
string = 'this is a string with a % symbol'
Run Code Online (Sandbox Code Playgroud)
字符串不能再被检查,打印,甚至打开包装.
我在Ruby 1.8和Rails 2.3上.
我认为这可能只是我对Ruby中普通事物缺乏了解的一部分.
看起来你的字符串肯定不为空。
您可以下载 String 类的 hexdump 扩展,然后执行以下操作:
require 'hexdump'
#... whatever you do in your program
puts string.hexdump
Run Code Online (Sandbox Code Playgroud)
并将输出发布到您的问题中?
这样我们就可以看到字符串中的内容,即使这些是不可打印的字符。
看:
http://www.unixgods.org/~tilo/Ruby/hexdump.html
| 归档时间: |
|
| 查看次数: |
1886 次 |
| 最近记录: |