0

我有一个脚本,我一直在构思它,它有点围绕着将排列数组放入哈希表的想法,然后用 foreach-object $_ 索引调用它们以运行命令或输出,编写的冗余代码最少。

我已经尝试过这个想法很多次了,但它似乎不起作用。不知道我是否只是相当愚蠢,或者我在这里是否缺少其他东西。

我可以让其他哈希表和数组使用这种方法,但这给我带来了问题。

我会分解的。

The first array will be the first line
The second array will be the 2nd line...
so on and so forth until the 6th.

每行都有几个值,但每个值都对应于与其上方和下方相同的项目......想想一个excel电子表格......有点像那样。

在这个数组/哈希表的末尾,我尝试将每一个收集到...

$control = ( 0..5 | % { first[$_] ; second[$_] ; third[$_] ; fourth[$_] ; fifth[$_] ; sixth[$_] } )

我已经尝试了我能想到的所有排列,带有 at 符号,没有符号,将控制权放入花括号中,使用括号而不是花括号,使用逗号,这似乎不想工作。我还尝试在自己执行循环之前放置一个空的 control=(),似乎没有任何效果......我似乎无法摆脱这个错误“数组边界之外的索引”

...就在我认为我已经让它工作时,我调用了变量并且它是空的。纳达。

所以现在,这似乎有效,但它很糟糕......

$Control = @{ 0 = ( $first[0] , $second[0] , $third[0] , $fourth[0] , $fifth[0] );
              1 = ( $first[1] , $second[1] , $third[1] , $fourth[1] , $fifth[1] );
              2 = ( $first[2] , $second[2] , $third[2] , $fourth[2] , $fifth[2] );
              3 = ( $first[3] , $second[3] , $third[3] , $fourth[3] , $fifth[3] );
              4 = ( $first[4] , $second[4] , $third[4] , $fourth[4] , $fifth[4] );
              5 = ( $first[5] , $second[5] , $third[5] , $fourth[5] , $fifth[5] );
              6 = ( $first[6] , $second[6] , $third[6] , $fourth[6] , $fifth[6] )}

我希望用最少的代码来做到这一点,我只是不确定为什么这个不起作用。

顺便说一句,如果我调用 $control[0] 或事后你有什么,所需的最终结果是将这些变量打印到屏幕上......

指数数组的边界之外。x5千次...

4

1 回答 1

0

我想到了。

$control=@( 0..5 )

0..5 | % { $control[$_]=@($first[$_];$second[$_];$third[$_];$fourth[$_];$fifth[$_])}

不敢相信我花了这么长时间才意识到我必须将数组放入上面的空白区域......我很高兴我解决了它,但因为不早点尝试而感到愚蠢。

于 2019-06-01T00:35:45.023 回答