Để tránh làm đầy không gian tên, tôi sử dụng các gói. Ví dụ, chúng ta hãy Foo
là một chức năng trong một gói gọi FooPackage
Tôi có thể nhập không gian tên trên toàn cầu mà không cần nhập khẩu rõ ràng trong mỗi và mọi chức năng không?
function Foo()
disp('Foo');
end
Tôi muốn sử dụng chức năng này trong một chức năng gọi là Bar
.
function Bar()
InFunc1();
InFunc2();
InFunc3();
end
chức năng này gọi hàm phụ. Cách Naive là để nói một cách rõ ràng tên gói trong mỗi cuộc gọi
function InFunc1()
FooPackage.Foo();
end
function InFunc2()
FooPackage.Foo();
end
function InFunc3()
FooPackage.Foo();
end
Ngoài ra tôi có thể sử dụng một khẩu trong mỗi chức năng:
function InFunc1()
import FooPackage.*
Foo();
end
function InFunc2()
import FooPackage.*
Foo();
end
function InFunc3()
import FooPackage.*
Foo();
end
Cả hai cách đều được hết. Câu trả lời trong here nói rằng đó là những cách duy nhất. Có ai có đề xuất tốt hơn không?
Có thể bạn có thể giải quyết vấn đề của mình bằng cách sử dụng thư mục 'riêng tư '? – Oli