Как удалить конечный символ для константы в инициализаторе Rails? - PullRequest
0 голосов
/ 01 мая 2010

Как правильно удалить завершающий символ в следующем предложении, если он находится в config/environment.rb файле.

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

Выдает следующую ошибку:

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

Хорошо работает в IRB, но не в среде. Rb

решаемые

Aptana Studio 3 перестал загружать .bashrc после последнего обновления. Спасибо Младену и Марку за помощь.

1 Ответ

4 голосов
/ 01 мая 2010

String#chop возвращает копию строки с последним удаленным символом. И у него есть аналог String#chop!, который также изменяет строку.

Однако ваша конкретная ошибка (неопределенный метод 'delete' для nil: NilClass) означает, что ENV['KEY'] вернул nil, что, конечно, не отвечает на сообщение delete. Вы можете попробовать

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

чтобы привести его к строке. nil.to_s возвращает пустую строку, а "".delete x по-прежнему будет "". С другой стороны, если ENV['KEY'] действительно вернет строку, ничего не произойдет, если вы не включите to_s.

...