代码之家  ›  专栏  ›  技术社区  ›  Andy

如何删除Rails初始值设定项中常量的尾随符号?

  •  0
  • Andy  · 技术社区  · 14 年前

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

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

    它会产生以下错误:

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

    它在IRB中工作得很好,但在环境中不工作。

    解决了的

    AptanaStudio3在最新更新后停止加载.bashrc。多亏了米亚丁和马克的帮助。

    1 回复  |  直到 9 年前
        1
  •  4
  •   Mark Rushakoff    14 年前

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

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

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

    将其强制为字符串。 nil.to_s 返回空字符串,并且 "".delete x 还是会 "" . 另一方面,如果 [密钥] 正确返回字符串,如果不包括 to_s .