OneS icon indicating copy to clipboard operation
OneS copied to clipboard

Создание заполненных коллекций

Open SeiOkami opened this issue 4 years ago • 3 comments

Как это происходит в других языках:

C# int[] myArray = {1, 2, 3, 4};

Java Int[] myArray = {1, 2, 3, 4};

JavaScript var myArray = [1, 2, 3, 4];

Python myArray = [1, 2, 3, 4]

Как это происходит в 1С:

МойМассив = Новый Массив;
МойМассив.Добавить(1);
МойМассив.Добавить(2);
МойМассив.Добавить(3);
МойМассив.Добавить(4);

Но можно реализовать и в 1С подобными синтаксисами: МойМассив = Новый Массив(1, 2, 3, 4); МойМассив = Новый Массив{1, 2, 3, 4}; МойМассив = Новый Массив[1, 2, 3, 4]; МойМассив = Новый Массив( {1, 2, 3, 4} );

Или даже: МойМассив = ["раз", "два", "три"];

Подобно можно и для Соответствий и для Структур:

МояПеременная = Новый Соответствие(
   {Ключ1, Значение1},
   {Ключ2, Значение2}
);

или даже:

МояСтруктура = {Имя: "Иван",
                Фамилия: "Иванов",
                Отчество,
                Адрес: {Город: "Москва",
                        Улица: "Большая улица",
                        Дом: "100",
                        Квартира: "200"},
                Телефоны: ["111-11-11", "222-22-22"],
                ДатаРождения: '20000101'};

Или хотя бы уж так МояПеременная = Новый Соответствие(Ключ, Значение, Ключ, Значение);

На текущий момент возможно лишь создание строковых массивов при помощи СтрРазделить()

И заполненных структур при помощи синтаксиса МояПеременная = Новый Структура("Ключ1,Ключ2,Ключ3", Значение1, Значение2, Значение3);

Такой синтаксис неудобен, ибо разделены ключи от значений. И в результате в стандартах вообще не принято так заполнять структуры.

Синтаксис может придумать разный, но суть ясна.

SeiOkami avatar Apr 05 '21 15:04 SeiOkami

Ещё один хороший пример синтаксиса из старого поста.

МояСтруктура = {Имя: "Иван",
                Фамилия: "Иванов",
                Отчество,
                Адрес: {Город: "Москва",
                        Улица: "Большая улица",
                        Дом: "100",
                        Квартира: "200"},
                Телефоны: ["111-11-11", "222-22-22"],
                ДатаРождения: '20000101'};

SeiOkami avatar Apr 05 '21 15:04 SeiOkami

Ещё один хороший пример синтаксиса из старого поста.

МояСтруктура = {Имя: "Иван",
                Фамилия: "Иванов",
                Отчество,
                Адрес: {Город: "Москва",
                        Улица: "Большая улица",
                        Дом: "100",
                        Квартира: "200"},
                Телефоны: ["111-11-11", "222-22-22"],
                ДатаРождения: '20000101'};

это как в Go, очень удобно. Только что не так в твоем примере с отчеством? Если оно пустое так и напиши Отчество: "",

LazarenkoA avatar May 12 '21 06:05 LazarenkoA

Отправлено боту 1С 06.04.2021 в 12:36

SeiOkami avatar Nov 10 '21 10:11 SeiOkami