2016-03-27 22 views
6

Załóżmy w konsoli Julia zrobićCzy istnieje sposób na cofnięcie użycia `` `w Julii?

using Gadfly 

A potem sobie sprawę, że rzeczywiście chcesz użyć innego polecenia plot

using Winston 

Wydaje się, że plot() będą nadal korzystać z wersji bąk. Czy jest jakiś sposób, aby stop przy użyciu Gadfly?

using !Gadfly 
!using Gadfly 
unuse Gadfly 

Coś takiego?

+0

Powiązane: http://stackoverflow.com/q/33927523/2541573 – Jubobs

Odpowiedz

7

Jak wspomniano w odnośniku przez @Jubobs, obecnie nie ma sposobu na selektywne zaprzestanie korzystania z pakietu lub selektywne usunięcie definicji z REPL (podobnej do polecenia Matlaba o numerze clear, jeśli jesteś o tym obeznany). Krótka odpowiedź brzmi: nie.

Można jednak odwoływać się do funkcji z poszczególnych modułów, korzystając z Gadfly.plot() lub Winston.plot(). Nie zapewnia to rozwiązania problemu, jeśli już napisałeś kod, ale nadal jest to opcja do przyszłych prac.

Jest komenda workspace() ale że będzie usunąć wszystko z modułemMain a import świeżego środowiska Julia. Ty stracą wszystkie funkcje i zmienne zostały zdefiniowane ... więc używać go mądrze

Jak @Matt B wskazał, w rzeczywistości nie stracić swoje funkcje i zmienne. Są przenoszone do modułu o nazwie LastMain. Więc jeśli mam zdefiniowaną funkcję o nazwie myfunc() i dzwonię pod numer workspace(), próba wywołania myfunc() w REPL spowoduje, że pojawi się UndefVarError. Jednak nadal będziesz mieć dostęp do tej funkcji, dzwoniąc pod numer LastMain.myfunc(). Dotyczy to wszystkich elementów zdefiniowanych w REPL przed wywołaniem workspace().

+2

Tak naprawdę ich nie tracisz, po prostu zostają ukryte w module 'LastMain'. –

6

Jak inni podkreślili, nie można wyładować paczki w Julii. Jedynym sposobem na to byłoby ponowne uruchomienie repliki Julii. Jeśli jednak chcesz użyć określonej funkcji z pakietu, możesz nas Winston.plot() lub Gadfly.plot(). Zapewni to, że używasz odpowiedniej funkcji z pożądanej przestrzeni nazw.

Powiązane problemy