我需要帮助了解什么是替换已弃用的正确方法URI.escape
> URI.escape('space ^%$')
(pry):12: warning: URI.escape is obsolete
=> "space%20%5E%25$
当前的实现是这样的:
def escape(*arg)
warn "URI.escape is obsolete", uplevel: 1
DEFAULT_PARSER.escape(*arg)
end
所以,只是使用DEFAULT_PARSER
似乎工作:
> URI::DEFAULT_PARSER.escape('space ^%$')
=> "space%20%5E%25$"
但也明确说明解析器似乎也可以工作:
> URI::RFC2396_Parser.new.escape('space ^%$')
=> "space%20%5E%25$"
我正在寻找的是关于 Ruby 更改的上下文,因此可以做出明智的决定。
- 为什么被弃用
- 为什么将其移至 RFC2396_Parser?我们应该期待新的 URI 解析器吗?
- 是否有计划切换 URI::DEFAULT_PARSER?