У меня проблема с репортером из пользовательского расширения «myextension». Я использую NetLogo v.5.0.5.Ошибка настройки параметров командной строки NetLogo
Вот код класса Java репортер:
public class DoActionPrimitive extends DefaultReporter {
@Override
public Syntax getSyntax() {
return Syntax.commandSyntax(
new int[]{
Syntax.WildcardType(), // Platform
Syntax.StringType(), // Action
Syntax.ListType()}, // Parameters
Syntax.WildcardType());
}
public Object report(Argument[] args, Context context)
throws LogoException, ExtensionException {
// Reporter code
}
}
А вот код, который дает ошибку компиляции NetLogo:
extensions [myextension]
globals [platform]
turtles-own [logged-in?]
to setup
clear-all
reset-ticks
create-turtles population
set platform myextension:create "Platform"
ask turtles [ set logged-in? login ]
end
to-report login
report myextension:do-action platform "login" ["test-user" "123456"]
end
Вкладка NetLogo код дает ошибку синтаксиса на line:
report myextension:do-action platform "login" ["test-user" "123456"]
с t он сообщение:
"MYEXTENSION:DO-ACTION expected 8191 inputs, any input, a string and a list."
Я думаю, что-то не так с синтаксисом репортера, возможно, не представляется возможным, чтобы иметь WildcardType смешанное с другими параметрами. Я также попытался переключить первый и второй параметры, поэтому имея StringType до WildcardType, но ошибка такая же, но переключение параметров в сообщении об ошибке.
Почему NetLogo ожидает 8191 входов до моих указанных входов синтаксиса?
Спасибо!
Фантастически хорошо написанный вопрос кстати. –