2016-03-27 13 views
6

Giả sử trong Julia console tôi làmCó cách nào để hoàn tác `sử dụng` trong Julia không?

using Gadfly 

Và sau đó nhận ra tôi thực sự muốn sử dụng một lệnh cốt truyện khác nhau

using Winston 

Dường như plot() vẫn sẽ sử dụng phiên bản Gadfly. Có cách nào để dừng lại bằng Gadfly không?

using !Gadfly 
!using Gadfly 
unuse Gadfly 

Điều gì đó tương tự?

+0

Liên quan: http://stackoverflow.com/q/33927523/2541573 – Jubobs

Trả lời

7

Như đã đề cập trong liên kết bởi @Jubobs, hiện tại không có cách nào để chọn ngừng sử dụng gói hoặc xóa một định nghĩa có chọn lọc khỏi REPL (tương tự như câu lệnh clear của Matlab nếu bạn quen với nó). Vì vậy, câu trả lời ngắn gọn là không.

Tuy nhiên, bạn có thể tham chiếu các chức năng từ các mô-đun cụ thể bằng cách sử dụng Gadfly.plot() hoặc Winston.plot(). Điều này không cung cấp cho bạn một giải pháp cho vấn đề của bạn nếu bạn đã viết mã, nhưng nó vẫn là một lựa chọn cho công việc trong tương lai.

Có lệnh workspace() nhưng điều đó sẽ xóa mọi thứ khỏi mô-đun Main và sẽ nhập môi trường Julia mới. Bạn sẽ mất tất cả các chức năng và các biến bạn đã xác định ... để sử dụng nó một cách khôn ngoan

Như @ Matt B chỉ ra, bạn không thực sự mất chức năng và các biến của bạn. Chúng được chuyển sang một mô-đun có tên là LastMain. Vì vậy, nếu tôi có một chức năng được xác định có tên là myfunc() và tôi gọi số workspace(), sau đó cố gắng gọi myfunc() tại REPL sẽ dẫn đến một số UndefVarError. Tuy nhiên, bạn vẫn có thể truy cập chức năng này bằng cách gọi LastMain.myfunc(). Điều này đúng với bất kỳ điều gì đã được xác định trong REPL trước khi bạn gọi tới số workspace().

+2

Bạn không thực sự mất chúng, chúng chỉ được lưu trữ vào mô-đun 'LastMain'. –

6

Như những người khác đã chỉ ra, bạn không thể bỏ gói trong Julia. Cách duy nhất để làm điều đó là khởi động lại Julia repl. Tuy nhiên, nếu bạn muốn sử dụng một chức năng cụ thể từ một gói, bạn có thể chúng tôi Winston.plot() hoặc Gadfly.plot(). Vì vậy, sẽ đảm bảo, bạn đang sử dụng đúng chức năng từ không gian tên mong muốn.

Các vấn đề liên quan