- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
$arrays = @();
$array = @();
$string = 'one|two|three';
$array = ($string -split '\|');
$arrays += $array;
$arrays[0][0]
我希望 $arrays
是一个二维数组,第一个元素是对 $array
的引用。因此,$arrays[0][0]
将包含字符串“one”。
相反,PoSh 似乎将 $arrays
扁平化为包含元素“一”、“二”和“三”的单个列表。即使我在追加操作中将 @()
数组构造函数放在 $array
周围也是如此。
向我的追加添加一个额外的元素让我接近,但是我将在 $arrays
中有空元素:
$arrays = @();
$array = @();
$string = 'one|two|three';
$array = ($string -split '\|');
$arrays += $array, '';
$arrays[0][0]
最佳答案
将 PowerShell 的 +
运算符与作为 LHS 的数组一起考虑为连接数组,即附加 RHS 到 LHS 数组[1]:
# Note: , has higher precedence than +, so this is the same as: ((1, 2) + (3, 4)).Count
> (1, 2 + 3, 4).Count # Same as: (1, 2, 3, 4).Count
4
even if I put the @() array constructor around $array
,
是数组构造操作符。
@()
是数组子表达式运算符 - 其目的是确保封闭命令的输出成为数组除非它已经是一个。
换句话说:@(1, 2)
是无操作,因为1, 2
已经是 em> 一个数组。
因此,正如您所发现的,使用 ,
构造一个嵌套数组是解决方案:
> (1, 2 + , (3, 4)).Count
3
, (3, 4)
将数组 3, 4
包装在一个单元素数组中。
+
然后将该数组的每个元素(包装的 3, 4
数组中的唯一元素)添加到 LHS。
[1] 我们不要忘记 .NET 数组是一种不可变数据结构, 所以真正发生的是,在幕后,PowerShell 构造了一个新数组。
关于powershell - 为什么 Powershell 会展平我的阵列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45047798/
我正在尝试编写一个程序来列出网络上所有设备的 IP 地址。其主要组成部分之一是能够 ping 设备。这个程序必须在 Linux、Windows 和 Mac 上运行,所以我选择了 Boost 库。 我设
如果我使用 Google 的 Jquery 加载脚本链接,那么如果用户的缓存中已经有该文件,那么当页面加载时,用户计算机是否仍会以任何方式与 Google 联系? 例子: 最佳答案 根据浏览器的缓存
我想在我的 ruby 代码中 ping 一个站点,发现 net-ping 是一个很好的库来执行此操作。不幸的是,当我尝试 gem install net-ping 时出现以下错误: C:>gem
我有一个表(test_matches),其中记录了几场比赛的结果,按日期排序。 GHFT = 目标主队全职。GAFT = 全职客场进球队。 CREATE TABLE `test_matches` (
我正在使用 phing对于一个项目的一些自动构建过程,我想知道:我怎样才能通过电子邮件获得完整的日志? 当我通过命令行启动 phing 时,会显示构建日志;我想要它: 通过电子邮件发送, 给几个收件人
尝试根据 GF 和 GA 创建一个新列“Results”。想知道如何通过定义函数和条件语句来做到这一点。以下是我对一行的初步尝试,但无法弄清楚如何将其应用于所有行,非常感谢您的帮助! 日期地点对手GF
我是一名优秀的程序员,十分优秀!