如何在Rails初始化程序中删除常量的尾随符号?

时间:2010-05-01 16:48:03

标签: ruby-on-rails ruby string trim

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

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

它会产生以下错误:

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

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

中运行不正常

解决

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

1 个答案:

答案 0 :(得分: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的情况相比,不会发生任何不同。