Nano Hash - криптовалюты, майнинг, программирование

Многомерные массивы VBA — литеральный синтаксис массива

Я хочу создать многомерный массив, в котором я назначаю все значения сразу, а не просматриваю все значения координат массива одно за другим. Я считаю, что это называется установкой «литералов массива». В любом случае, все мои переменные являются строковыми значениями. Приведенный ниже код не дает мне синтаксической ошибки, но когда я выполняю его, я получаю сообщение «Ошибка компиляции: невозможно назначить массиву» в строке pkg=. Как мне заставить это работать?

Sub test_array2()

Dim pkg(2, 2) As String

pkg = [{"PRetail","Retail Packaged"};{"PFoodservice","Foodservice 
Packaged"}]

Debug.Print pkg(1, 1)

End Sub

  • Просто предупреждение о том, чтобы сделать это таким образом - идентификатор (т.е. часть внутри [ ... ]) ограничен 255 символами. Вы получаете синтаксическую ошибку слишком длинного идентификатора, если превышаете ограничение. 22.12.2017

Ответы:


1

Вы не можете напрямую присваивать массиву, поэтому вам нужно использовать вариант:

Sub test_array2()

    Dim pkg As Variant

    pkg = [{"PRetail","Retail Packaged";"PFoodservice","FoodservicePackaged "}]

    Debug.Print pkg(1, 1)

End Sub
21.12.2017
  • Вы можете назначить невариантный массив, но не фиксированный размер, такой как Dim pkg(2, 2). В этом случае массив также должен содержать Variant из-за возвращаемого типа [], поэтому правильным объявлением будет Dim pkg() As Variant, и в этот момент разница с Dim pkg As Variant является технической. 22.12.2017
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..