Макросы Datamine. Ресурсный геолог. Андрей Вяльцев
Чтение книги онлайн.
Читать онлайн книгу Макросы Datamine. Ресурсный геолог - Андрей Вяльцев страница 14
$ Задание 3.19
Чем завершится выполнение данного макроса?
A) Зависанием Datamine до принудительного завершения пользователем работы макроса
B) Ошибкой
C) Выходной файл композитируется с зональным контролем по полю BODY
D) Процесс выполнится, но выходной файл не создастся
$ Задание 3.20
Чем завершится выполнение данного макроса?
A) Успешным выполнением
B) Ошибкой
C) Вылетом Datamine
D) Процессы выполнятся, но выходной файл после команды EXTRA не создастся
E) Зависанием Datamine до принудительного завершения пользователем работы макроса
Переменные
Итак, мы с вами написали первый простой макрос (пока «не вы, а мы», но лиха беда начало), автоматизирующий процесс создания рудной выборки. При этом мы условились, что:
– имя файла рудных каркасов – ore_tr/pt;
– имя файла скважин – holes;
– имя поля номера рудного тела – BODY;
– имя поля урезаемых содержаний – AU;
– средняя длина проб, к которой требуется привести рудную выборку – 1 м;
– оптимальная сеть декластеризации – данные расположены по регулярной сети;
– уровень ураганных содержаний одинаков для всех рудных тел – 100 г/т;
– имя файла обработанной рудной выборки holes_ore_cut.
Несложно догадаться, что это не всегда так. Каркасы могут называться по-другому, файл скважин – тоже. Поле содержания – не обязательно AU, а зонального контроля – не обязательно BODY. Ну и далее по списку. Что же делать? Вариантов минимум три:
– Каждый раз перед использованием макроса подгонять имена файлов и полей под то, что написано в макросе.
– Каждый раз перед использованием макроса править весь текст макроса в соответствии с вашими входными условиями.
– Модифицировать макрос так, чтобы правки были понятными, минимальными и простыми.
Первые два варианта – путь сложный и тупиковый. Мы хотели написать «как несложно догадаться…», но поняли, что пока догадаться сложно. Поэтому просто поверьте: первые два варианта – очень плохая идея. И мы, как говорится, пойдем другим путем – то есть третьим из перечисленных.
Для этого третьего пути нам понадобится некая сущность, которой мы можем оперировать либо как числом, либо как строкой – то есть либо выполнять арифметические действия, либо складывать ее с другими строками. Но при этом в то время, когда мы пишем макрос, мы не знаем, какое именно значение принимает эта сущность. То есть нам нужна некая виртуальная «коробка», в которой можно хранить все, что угодно, и при этом заставлять наш макрос производить с этой коробкой любые операции, как будто он имеет дело с тем содержимым, которое в этой коробке находится в момент выполнения макроса. И вот эту коробку в программировании принято называть «переменная». В принципе, переменная в программировании