多维数组初始化似乎对空格敏感

2023-12-31

我注意到这两个声明之间的区别,其中只有逗号的位置发生了变化:

$a = @( @('a','b'),
        @('c','d'))

$b = @( @('a','b')
      , @('c','d'))

在这种情况下,$a.length评估结果为 2 且$b.length计算结果为 3。第一个子数组$b已被压扁。

这是一个功能吗?在哪里可以找到它的文档?

顺便一提,$PSVersionTable:

Name                           Value
----                           -----
PSVersion                      4.0
WSManStackVersion              3.0
SerializationVersion           1.1.0.1
CLRVersion                     4.0.30319.42000
BuildVersion                   6.3.9600.16406
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0}
PSRemotingProtocolVersion      2.2

 , Comma operator
         As a binary operator, the comma creates an array. As a unary
         operator, the comma creates an array with one member. Place the
         comma before the member.

Source. https://technet.microsoft.com/en-us/library/hh847732.aspx

这是因为@('a','b')将推动两根弦a and b进入数组$b而你强迫@('c','d')被推入$b as an array使用逗号。

Example:

$b = @( @('a','b')
      , @('c','d'))

$b | foreach { Write-Host "Item: $_"}

Output:

Item: a
Item: b
Item: c d

如果你看一下类型:

$b | foreach { $_.GetType()}

You get:

IsPublic IsSerial Name     BaseType     
-------- -------- ----     --------     
True     True     String   System.Object
True     True     String   System.Object
True     True     Object[] System.Array 

强迫$b包含两个arrays,使用逗号二元运算符:

$b = @(@('a','b'),@('c','d'))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

多维数组初始化似乎对空格敏感 的相关文章

随机推荐

  • “重新启动接收器”无法正常工作 android [Xamarin.Android]

    我正在尝试实现一个广播接收器 该接收器在设备重新启动时获取广播 但无法使用以下代码工作 它应该在设备重新启动时向我发送祝酒词 广播接收器 BroadcastReceiver public class RebootReceiver Broad
  • 删除最后一个空行

    我的 csv 文件末尾有一个分段符 我尝试使用以下命令删除文件末尾的空行 sed i d combined csv 但它不起作用并且空白行仍然存在 我可以使用以下命令删除最后一行 sed i d combined csv 但是在删除最后一行
  • 错误:“x”未命名类型

    当我尝试声明类 Game 的实例时 我收到 main cpp 的编译错误 错误 游戏 未命名类型 如果可能并不重要 但我正在使用代码块 Game cpp中的相关代码 include include main h class Game pri
  • Chrome 扩展程序弹出窗口按条件显示

    我想通过点击显示弹出窗口 但前提是条件为假 单击扩展图标后台 js 后 搜索具有当前名称的选项卡 如果选项卡找到后台js继续工作 如果没有找到 我想显示带有说明的弹出窗口 无法理解如何在这种情况下仅显示弹出窗口 我可以通过 browserA
  • 正则表达式检查字符串中的连续 3 位数字

    我想要java中的正则表达式来检查字符串是否包含连续的3位数字 但问题是我的字符串可能包含 unicode 字符 如果字符串包含 unicode 字符 则应跳过 unicode 字符 跳过 AND 之后的 4 并进行检查 一些例子是 Nee
  • 如何仅使用 JavaScript 获取下一个元素?

    假设我们有这个标记 h1 some project mdash javascript html tests h1 hr p testing 123 p 我知道有 prependChild appendChild innerHTML等属性和方
  • 在 Rails 资源管道中使用字体

    我在 Scss 文件中配置了一些字体 如下所示 font face font family Icomoon src asset url icoMoon eot iefix font format embedded opentype asse
  • ffmpeg 转换 x264 [错误]:大小为 769152 的 malloc 失败

    我正在尝试将从 Android 智能手表 mp4 格式 录制的视频转换为可在所有浏览器上播放的格式 mp4 从智能手表录制的视频未在浏览器中播放 所以 我使用 ffmpeg 将其转换为可播放的 mp4 格式 但有时它会显示错误x264 er
  • keras中的加权mse自定义损失函数

    我正在处理时间序列数据 输出未来 60 天的预测数据 我目前使用均方误差作为我的损失函数 结果很糟糕 我想实现一个加权均方误差 使得早期的输出比后来的输出重要得多 加权均方根公式 因此 我需要某种方法来使用索引迭代张量的元素 因为我需要同时
  • Angular4 的 Wysiwyg 编辑器 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有人知道与 Angular 4 兼容的免费 Wysiwyg 编辑器吗 Froala 似乎不错 但不幸的是
  • 观察事件以隐藏闪亮的操作按钮

    在我的 Shiny 应用程序中 我试图包含显示或隐藏操作按钮的逻辑 具体取决于 ui R 中是否定义了另一个用户输入 由于应用程序中存在其他一些复杂性 我无法使用 uiOutput renderUI 功能来执行此操作 我的方法是为输入创建一
  • 未能延迟初始化集合

    我正在为我的数据库开发一个安静的网络服务 我正在使用 jpa 从数据库和 spring 中检索数据以用于架构 我已经使用基本的 dao 查询 findById save 测试了该架构 并且它运行得很好 然后在 dao 实现中我添加了一个新方
  • Jquery 拖放 - 单击事件在拖放时注册

    我正在使用 jquery 拖放 可拖动元素是一个 div 其中有两个左右浮动的嵌套 div 放置时 左侧嵌套的 div 包含文本 将启用单击事件 element left click function e window open ui dr
  • 为什么在 Cassandra 启动时仍然出现 JNA 错误,即使 jna.jar 和 platform.jar 都在 lib 目录中?

    我已下载 Jna jar 和 Platform jar 并将其复制到 usr cassandra apache cassandra 1 0 7 lib 文件夹 但在 Cassandra 启动时仍然看到以下错误 我是否遗漏了什么 On cas
  • 无法在firebase控制台中显示已部署的云功能

    我尝试将云功能部署到 firebase 但我很困惑 在命令提示符和 firebase console gt project gt functions 之间 因为在命令提示符下显示部署成功但是在 功能选项卡没有任何功能 我按照以下步骤进行部署
  • 定期付款的快速结帐不适用于德国付款人

    我目前正在使用 ExpressCheckout 和 RecurringPayments 开发 PayPal 付款交易 测试软件后 德国 买家登录 paypal 确认付款后 我收到以下消息 Zurzeit k nnen wir Ihre An
  • Swift:检查字符串是否包含字符? [复制]

    这个问题在这里已经有答案了 如何检查特定的string String含有一定的character Character string contains character Example let string Hello World let
  • Django Rest Framework,ajax POST 有效,但 PATCH 抛出 CSRF 失败:CSRF 令牌丢失或不正确

    我正在将我的项目移植到 Django Rest Framework 来为我的项目制作一个合适的 REST Api 我认为这对设计 API 并使其健壮有很大帮助 但我遇到了一个问题 我有一个入门模型和关联的ListCreateAPIView
  • 垂直求和直到 Google 表格上的空单元格

    This is the scenario I need to get the sum of the values until it reaches a blank cell After that it should start again
  • 多维数组初始化似乎对空格敏感

    我注意到这两个声明之间的区别 其中只有逗号的位置发生了变化 a a b c d b a b c d 在这种情况下 a length评估结果为 2 且 b length计算结果为 3 第一个子数组 b已被压扁 这是一个功能吗 在哪里可以找到它