AnyLogic - динамическое расписание для resourcePool, преобразованное из Integer в TimeUnits

Я имею в виду следующий пост SOW и ответ Стюарта Росситера.

Я подумал, что было бы правильно открыть новую тему по этому поводу, так как спустя столько лет на проблему можно посмотреть немного по-другому. Теперь я получаю следующую ошибку: «Метод create_ShiftChange(double, TimeUnits) в типе Main неприменим для аргументов (int, Integer)».

Как я отметил в своем комментарии к решению Стюарта Росситера, я считаю, что несколько лет назад у функции create_ShiftChange(...) были другие входные аргументы.

Актерский состав от getTimeoutToNextValue() до double не проблема. Однако состав второго аргумента getNextValue() от Integer до TimeUnits ставит передо мной задачу.

У кого-нибудь есть решение моей проблемы или надо искать обходной путь, так как "старый" create_ShiftChange(...) тоже имеет другое значение из-за других входных аргументов? Спасибо за помощь!

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
0
107
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вам просто нужно ввести TimeUnits. (обратите внимание на точку!), а затем использовать завершение кода. Это показывает вам все доступные варианты, выберите тот, который вам нужен.

Предыстория: это перечисление, определенное AnyLogic для использования в качестве единиц времени. Когда вы видите что-то подобное, всегда печатайте это и пробуйте завершение кода.

Это не (главная) проблема; посмотрите на другой вопрос и рассматриваемые сигнатуры методов.

Stuart Rossiter 02.11.2022 21:21
Ответ принят как подходящий

Не было изменений в функциях (методах) create_* для динамических событий. Есть две формы:

  • Тот, в котором вы явно указываете единицы времени, когда оно должно быть запланировано (например, с двумя начальными аргументами типа double и TimeUnits). TimeUnits — это перечисление Java (фактически то же, что и список параметров AnyLogic) со значениями, такими как TimeUnits.MINUTE; автозаполнение покажет вам альтернативы.

  • Тот, в котором вы неявно принимаете единицы времени модели в целом, как в ее свойствах (например, с 1 начальным аргументом типа double).

Рассматриваемое динамическое событие имеет один аргумент int (т. е. его «специфические» данные содержат только целое число), поэтому соответствующие варианты функции create_* имеют его в качестве последнего аргумента (т. е. у них есть 3 и 2 аргумента соответственно).

В вашем случае вы не используете динамическое событие с одним аргументом (иначе метод create_ShiftChange(double, TimeUnits), на который он жалуется, не существовал бы — вместо этого был бы create_ShiftChange(double, TimeUnits, int)) и, поскольку вы вызвали его с двумя целыми числами, компилятор (неправильно ) предполагает, что вы пытались использовать форму с двумя аргументами, отсюда и сообщение об ошибке.

Поэтому либо добавьте аргумент к динамическому событию, либо, если в вашем случае вы используете другой набор аргументов (или без аргументов) для динамического события, измените его соответствующим образом.

Другие вопросы по теме