0

config/environment.rb如果它在文件中,如何在以下句子中正确删除尾随字符。

KEY = ENV['KEY'].delete "\r"

它产生以下错误:

undefined method `delete' for nil:NilClass (NoMethodError)

它在 IRB 中运行良好,但在 environment.rb 中不行

解决了

Aptana Studio 3 在最新更新后停止加载 .bashrc。感谢 Mladen 和 Mark 的帮助。

4

1 回答 1

4

String#chop返回删除最后一个字符的字符串的副本。它有一个对应物String#chop!也可以改变字符串。

但是,您的特定错误(nil:NilClass 的未定义方法“删除”)意味着ENV['KEY']返回nil,它当然不会响应delete消息。你可以试试

KEY = ENV['KEY'].to_s.delete "\r"

将其强制为字符串。 nil.to_s返回空字符串,并且"".delete x仍然是"". 另一方面,如果ENV['KEY'] 确实正确返回了一个字符串,那么与没有包含to_s.

于 2010-05-01T16:51:53.777 回答