NullPointerException
s - исключения, возникающие при попытке использовать ссылку, которая указывает на отсутствие местоположения в памяти (null), как если бы она ссылалась на объект. Вызов метода по нулевой ссылке или попытка получить доступ к полю нулевой ссылки вызовет функцию NullPointerException
. Они наиболее распространены, но другие способы перечислены на странице NullPointerException
javadoc.
Вероятно, самый быстрый пример кода, который я мог бы придумать для иллюстрации NullPointerException
, be:
public class Example {
public static void main(String[] args) {
Object obj = null;
obj.hashCode();
}
}
В первой строке внутри main
я явно устанавливаю ссылку Object
obj
равной null
. Это означает, что у меня есть ссылка, но она не указывает на какой-либо объект. После этого я пытаюсь обработать ссылку так, как если бы она указывала на объект, вызывая метод на нем. Это приводит к NullPointerException
, потому что нет кода для выполнения в местоположении, на которое указывает ссылка.
(Это техничность, но я думаю, что она упоминает: ссылка, которая указывает на null, равна 't то же, что и указатель C, указывающий на недопустимую ячейку памяти. Нулевой указатель буквально не указывает на в любом месте , который отличается от указаний на местоположение, которое оказывается недопустимым.)
Во-первых, haml установки как драгоценный камень в bundler путем добавления этого к Вашему Gemfile
:
gem "haml"
Выполнение bundle install
, затем удостоверьтесь, что Ваши представления называют с расширение *.html.haml. Например:
`-- app
`-- views
|-- layouts
| `-- application.html.haml
`-- users
|-- edit.html.haml
|-- index.html.haml
|-- new.html.haml
`-- show.html.haml
Во-первых, удостоверьтесь, что у Вас есть драгоценный камень HAML.
gem list --local | grep haml
, Если haml не обнаруживается в списке, то сделайте это:
sudo gem install haml
Тогда делают это от Вашего каталога проекта:
# cd ../
# haml --rails <yourproject>
, Который должен установить все, которое Вам нужно, и представления HAML, должен прекратить жаловаться и синтаксический анализ правильно.
Прежде чем пытаться использовать haml в вашем приложении rails, вы можете убедиться, что исполняемый файл командной строки установлен правильно:
$ haml
%p
%span Hello World!
Затем нажмите CTRL-D, и вы увидите:
<p>
<span>Hello World!</span>
</p>
if for some reason you installed haml, but you haml doesn't start. try
sudo ln haml /usr/bin/
in the bin directory of your haml gem
for some reason this didn't happen automatically on my ubuntu 9.04 Jaunty.
Для Rails 3 все, что вам нужно сделать, это добавить гем "haml", '3.0.25'
в ваш Gemfile
. Не нужно устанавливать плагин или запускать haml --rails.
.
Просто:
$ cd awesome-rails-3-app.git $ echo 'gem "haml"' >> Gemfile
И все готово.