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の未定義のメソッド'delete')は、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 に答える