Я ищу некоторую очистку моих знаний. В проекте со сложной структурой модуля я бы хотел сохранить структуру чистой, создавая структурированное дерево пространства имен. Скажем, что-то вроде:
App
Config
Key
Node
Param
Type
MyType
Каждая запись в App :: Config должна содержаться в своем собственном файле. Всегда печатать такие вещи, как App::Config::Key
, это пустая трата времени. is export
не имеет параметра для объявления имени, которое должно быть экспортировано. Итак, я наконец пришел к следующему решению:
Config.pm6
unit module App::Config:ver<0.0.1>;
...
Key.pm6
unit package App::Config;
class Key is export {
...
}
И это работает так, как я хочу:
use App::Config::Key;
say Key.^name; # App::Config::Key
Остается только один вопрос: есть ли какие-либо предостережения? Какие-нибудь скрытые побочные эффекты, чтобы знать о