Формат массива для вектора в Rstan - PullRequest
0 голосов
/ 27 апреля 2018

Пожалуйста, создайте стандартный файл, например, aaa.stan. И в этом файле aaa.stan, пожалуйста, напишите следующее:

transformed parameters { 
        vector  [11] xxx [21];
      xxx[33][4]=2;
}

когда я нажимаю кнопку «Проверка», я обнаружил следующий нечетный вывод

> rstan:::rstudio_stanc("aaa.stan")
aaa.stan is syntactically correct.

Несмотря на то, что мой код неверен, почему компьютер говорит правильно?

1 Ответ

0 голосов
/ 27 апреля 2018

Это просто означает, что файл Stan анализирует файл C ++. Но синтаксический анализатор не проверяет, остаются ли вещи в границах индексов, отчасти потому, что вы можете объявить vector[K] x;, и он не знает до времени выполнения, насколько велико K. В целом, синтаксический анализатор Stan почти не проверяет логику, хотя в этом случае вы получите ошибку времени выполнения, когда назначите 2 на xxx[33][4].

...