Co oznacza symbol „#” w nazwie funkcji?


13

Chciałbym wiedzieć, jakie jest znaczenie #symbolu w nazwach funkcji, np .:

execute pathogen#infect()

Przeczytaj pomoc dotyczącą wtyczek autoload.
Luc Hermitte,

Odpowiedzi:


16

To część mechanizmu automatycznego ładowania. Od Autoloadingw Learn Vimscript the Hard Way i :help autoload:

Autoload pozwala opóźnić ładowanie kodu, dopóki nie jest rzeczywiście potrzebny, więc jeśli następująca funkcja

execute pathogen#infect()

został już załadowany, Vim po prostu wywoła go normalnie. W przeciwnym razie Vim wyszuka plik nazwany autoload/pathogen.vimw twoim ~/.vimkatalogu. Jeśli ten plik istnieje, Vim załaduje / prześle plik. Następnie spróbuje normalnie wywołać funkcję.

Każda #nazwa funkcji działa jak separator ścieżki. Dlatego podczas wywoływania funkcji:

:call foo#bar#func()

Vim wyszuka plik autoload/foo/bar.vim

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.