Преобразовать массив на основе 1 в массив на основе 0 в Julia - PullRequest
4 голосов
/ 06 июня 2019

Я пишу некоторый числовой код, в котором было бы удобнее использовать индексирование на основе 0, чем индексирование на основе 1 Джулии по умолчанию.Джулия поддерживает индексирование на основе 0, но документация предназначена для разработчиков, поэтому я немного запуталась в том, как ее использовать.

В частности: если я позвоню rand(10,10) Я получаю массив 10x10 с индексами от 1 до 10. Существует ли простая эквивалентная команда, которая вместо этого возвращает массив с индексами от 0 до 9?Или, альтернативно, я могу легко преобразовать это в массив на основе 0 вместо 1 на основе?

1 Ответ

4 голосов
/ 06 июня 2019

Я публикую ответ на свой вопрос, потому что Богумил Каминьски ответил на вопрос в комментариях.

Здесь есть некоторая документация на уровне пользователя здесь , хотя на момент написания она довольно короткая и целиком состоит из примеров, поэтому нужно вывести предполагаемую семантику и угадать лучшие практики.

Однако, похоже, команда

OffsetArray(rand(10,10),0:9,0:9)

достигает того, о чем я просил, и Богумил Каминьски подтвердил, что это правильный способ сделать это, поэтому можно предположить, что это не приводит к ненужному копированию массива и т. Д.

Можно надеяться, что в какой-то момент будет написана надлежащая документация, поскольку это довольно важная функция. (На это надеются многие важные черты Юлии.)

...