Информация об изменениях

Сообщение Re[15]: Rust как замена C++ от 03.01.2020 1:07

Изменено 03.01.2020 1:08 DarkEld3r

Re[15]: Rust как замена C++
Здравствуйте, Mamut, Вы писали:

M>Он их не чинит. Он показывает, что модули и условная компиляция ортогональны друг другу.


Не понимаю как в приведённом примере взаимодействует указание пути и "что.угодно.где.угодно". Цель как раз в том чтобы в зависимости от настроек компиляции можно было сделать use/import только на один из нескольких взаимоисключающих модулей.

M>Что значит «добавляет в проект». Вот он модуль. Уже лежит в проекте. Почему модуль объявляется не в модуле, а в файле, который вызывает этот модуль?


Хорошо, что такое проект? Все файлы, которые лежат в определённой директории?
Как должна выглядеть иерархия модулей в таком случае? Соответствовать один к одному файловой структуре?
Как запретить лезть подмодули из других частей проекта?

M>mod — это как раз и про импорт и про построение структуры. Ты не можешь сделать use пока не объявишь mod. Но при этом mod по какой-то никому не понятной причине объявляется не в коде, который и есть модуль, а в каком-то левом файле, который к нему вообще не имеет отношения.


Нет, отношение как раз прямое. Можно посмотреть на внешние подмодули как на частный случай объявленных внутри файла — они не самостоятельны и модуль верхнего уровня решает что будет видно снаружи.
Re[15]: Rust как замена C++
Здравствуйте, Mamut, Вы писали:

M>Он их не чинит. Он показывает, что модули и условная компиляция ортогональны друг другу.


Не понимаю как в приведённом примере взаимодействует указание пути и "что.угодно.где.угодно". Цель как раз в том чтобы в зависимости от настроек компиляции можно было сделать use/import только на один из нескольких взаимоисключающих модулей.

M>Что значит «добавляет в проект». Вот он модуль. Уже лежит в проекте. Почему модуль объявляется не в модуле, а в файле, который вызывает этот модуль?


Хорошо, что такое проект? Все файлы, которые лежат в определённой директории?
Как должна выглядеть иерархия модулей в таком случае? Соответствовать один к одному файловой структуре?
Как запретить лезть в подмодули из других частей проекта?

M>mod — это как раз и про импорт и про построение структуры. Ты не можешь сделать use пока не объявишь mod. Но при этом mod по какой-то никому не понятной причине объявляется не в коде, который и есть модуль, а в каком-то левом файле, который к нему вообще не имеет отношения.


Нет, отношение как раз прямое. Можно посмотреть на внешние подмодули как на частный случай объявленных внутри файла — они не самостоятельны и модуль верхнего уровня решает что будет видно снаружи.