2015-05-04 23 views
6

Podczas korzystania z instrukcji import, jak/gdzie Nim wykonuje wyszukiwanie modułów?Gdzie Nim wyszukuje moduły do ​​zaimportowania?

Wiem, że ścieżki plików mogą być używane, ale jeśli nie chcę używać ścieżki do pliku, gdzie powinienem umieścić moduł zdefiniowany lokalnie na moim komputerze?

Jeszcze nie użyłem Nimble i zakładam, że to tylko jeden ze sposobów, ale bardziej interesuje mnie, jak to zrobić, jeśli moduł jest zdefiniowany lokalnie tylko jako .

Odpowiedz

8

NIM wyszukuje modułów w następujących miejscach:

  1. względna do katalogu modułu importującego (przez import dir.modname lub import dir/modname jeśli nie jest w tym samym katalogu).
  2. Względem katalogu głównego modułu (ponownie, poprzez import dir.modname lub import dir/modname, jeśli nie znajduje się w tym samym katalogu).
  3. W katalogach określonych przez opcję wiersza poleceń --path lub -p.
  4. W katalogu paczek Nimble, który zwykle jest ~/.nimble/pkgs.
  5. W bibliotece standardowej.

Polecenie nim dump wyświetli wszystkie używane ścieżki wyszukiwania modułów (inne niż Zwinięte pakiety).

można wykonać następujące czynności, aby korzystać z własnych modułów:

  1. Przeciągnij katalog zawierający je do kompilatora przy użyciu opcji wiersza poleceń --path/-p.
  2. Umieść tę samą opcję wiersza poleceń w jednym z config files. Jest ich kilka, plik globalny (dla ustawień systemowych), plik użytkownika (dla ustawień użytkownika), plik projektu (dla ustawień projektu) i plik konfiguracyjny katalogu nadrzędnego (dla katalogów, które są rodzicami obecnego katalogu projektu, dla konfiguracji współdzielonych przez wiele projektów). Wybierz ten, którego potrzebujesz.
  3. Użyj Nimble do zainstalowania modułu dla dowolnego projektu wykonanego przez bieżącego użytkownika. W tym celu utwórz plik libname.nimble (zastępując nazwę libname przy użyciu aktualnej nazwy) w katalogu i użyj nimble install. Następnie można zaimportować pliki *.nim w tej bibliotece bezpośrednio z dowolnego innego projektu. Użyj numeru nimble uninstall libname, aby ponownie odinstalować bibliotekę.

Podstawowy plik libname.nimble ma następującą zawartość.

[Package] 
name = "libname" 
author = "Your Name" 
version = "0.1" 
description = "Example library." 
license = "none" 
+0

Wiele świetnych informacji. Dzięki. –

2

Zasadniczo są dwie opcje:

  1. można przekazać ścieżkę przeszukiwania w poleceniu kompilacji: nim c -p:~/myModulePath.

  2. Możesz dodać ścieżki wyszukiwania do swojej config/nim.cfg przez path="$home/myModulePath". Plik ten również dokładnie pokazuje, w jaki sposób/gdzie Nim domyślnie szuka importu.

+0

Dzięki bluenote10. Bardzo doceniane. –