Форум программистов, компьютерный форум, киберфорум
Наши страницы
PowerShell
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
guest7866
0 / 0 / 0
Регистрация: 05.07.2019
Сообщений: 2
1

Вложенные массивы в PowerShell

05.07.2019, 11:42. Просмотров 1756. Ответов 4
Метки нет (Все метки)

Добрый день. Подскажите пожалуйста, как динамически можно создать массивы вот такого типа:
PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
13
$b = @{
    1 = @{
        1 = "value1"
        2 = "value2"
    }
    2 = @{
        1 = "value1"
        2 = "value2"
    }
    3 = "value3"
 }
 
$b

Заранее спасибо за помощь
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.07.2019, 11:42
Ответы с готовыми решениями:

PowerShell vs PowerShell ISE
Скажите, пожалуйста, чем PowerShell отличается от PowerShell ISE. Спасибо.

Вложенные массивы
Ребята помогите закрыть последний предмет в заочке, все сдал кроме ассемблера, уж больно много...

Вложенные массивы
questiоn = , , , ] ]; как задать такой массив??? напр. мне нужно 18 вопросов сделать, а...

массивы и вложенные структуры
есть такой код: struct part1 { int arr; }; struct part2 { part1 dim; };

массивы и Вложенные циклы
Помогите пожалуйста решить очень нужно!!!! 5 задач нужно через 2 дня сдавать я не могу написать...

4
alhaos
51 / 39 / 13
Регистрация: 20.02.2019
Сообщений: 147
05.07.2019, 12:17 2
Лучший ответ Сообщение было отмечено YuS_2 как решение

Решение

PowerShell
1
2
3
4
$b = @{}
$b.Add(1, @{1="value1"; 2 = "value2"})
$b.Add(2, @{1="value1"; 2 = "value2"})
$b.Add(3,"value3")
2
guest7866
0 / 0 / 0
Регистрация: 05.07.2019
Сообщений: 2
05.07.2019, 13:09  [ТС] 3
Спасибо большое за ответ.
Скопировал Вам пример а мне выводит ошибку

PowerShell
1
2
3
4
5
6
Cannot find an overload for "Add" and the argument count: "2".
At C:\Users\1\Desktop\111.ps1:135 char:1
+ $b.Add(2, @{1="value1"; 2 = "value2"})
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodException
    + FullyQualifiedErrorId : MethodCountCouldNotFindBest
В чем может быть проблема?
0
alhaos
51 / 39 / 13
Регистрация: 20.02.2019
Сообщений: 147
05.07.2019, 13:37 4
?!

PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
PS C:\Users\*****> $b = @{}
$b.Add(1, @{1="value1"; 2 = "value2"})
$b.Add(2, @{1="value1"; 2 = "value2"})
$b.Add(3,"value3")
 
$b
''
$PSVersionTable
 
Name                           Value                                                                                                                                                  
----                           -----                                                                                                                                                  
3                              value3                                                                                                                                                 
2                              {2, 1}                                                                                                                                                 
1                              {2, 1}                                                                                                                                                 
 
PSVersion                      5.1.15063.1292                                                                                                                                         
PSEdition                      Desktop                                                                                                                                                
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}                                                                                                                                
BuildVersion                   10.0.15063.1292                                                                                                                                        
CLRVersion                     4.0.30319.42000                                                                                                                                        
WSManStackVersion              3.0                                                                                                                                                    
PSRemotingProtocolVersion      2.3                                                                                                                                                    
SerializationVersion           1.1.0.1
Добавлено через 1 минуту
PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
PS C:\Users\*********> $b = @{}
PS C:\Users\*********> $b.Add(1, @{1="value1"; 2 = "value2"})
PS C:\Users\*********> $b.Add(2, @{1="value1"; 2 = "value2"})
PS C:\Users\*********> $b.Add(3,"value3")
PS C:\Users\*********>
PS C:\Users\*********> $b
 
Name                           Value
----                           -----
3                              value3
2                              {2, 1}
1                              {2, 1}
 
PS C:\Users\*********> ''
 
PS C:\Users\*********> $PSVersionTable
 
Name                           Value
----                           -----
PSVersion                      7.0.0-preview.1
PSEdition                      Core
GitCommitId                    7.0.0-preview.1
OS                             Microsoft Windows 10.0.15063
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0
1
greg zakharov
Покинул форум
2279 / 939 / 259
Регистрация: 07.05.2015
Сообщений: 1,832
05.07.2019, 18:44 5
Лучший ответ Сообщение было отмечено YuS_2 как решение

Решение

Цитата Сообщение от guest7866
Подскажите пожалуйста, как динамически можно создать массивы вот такого типа
Это не многомерный массив, а многомерная хэштаблица (тип Hashtable). Создаваться такая таблица может различными способами, например, через JSON:
PowerShell
1
$b = '{1:{1:"value1",2:"value2"},2:{1:"value1",2:"value2"},3:"value3"}' | ConvertFrom-Json -AsHashtable
Если значения такой таблицы должны добавляться динамически (как было показано alhaos):
PowerShell
1
2
3
$b = [Hashtable]::new()
$b.Add(1, @{1 = 'value1'; 2 = 'value2'})
# и так далее
Если у вас что-то не работает, смотрите на версию PowerShell.
1
05.07.2019, 18:44
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.07.2019, 18:44

массивы и Вложенные циклы
Дано натуральное число n. Получить все простые делители этого числа.пацаны помогите решить

Вложенные циклы + массивы
Помогите пожалуйста сделать задание. Задана матрица целых чисел M x N, компоненты которой могут...

DBXJSON и вложенные массивы
Всем привет! Подскажите как получить значения во вложенных массивах json. Имею такую строку json ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru