Powershell: 、(1)[1]が$ nullと異なるのはなぜですか?

作成日 2018年03月10日  ·  3コメント  ·  ソース: PowerShell/PowerShell

次の2つのステートメントが異なる出力を生成する理由を理解しようとしています。

&{,$null} | % {'x'} # x
&{,(1)[1]} | % {'x'} # no output

,$null,(1)[1]どちらも、単一のnull要素を含む配列のようです。 ただし、スクリプトブロックからの出力中は動作が異なります。 ここで何が起きてるの?

Issue-Question Resolution-Answered

全てのコメント3件

2番目は、パイプラインによって列挙されていないAutomationNull.Valueを返します。

$nullが列挙されます。

たとえば、foreachの実装を参照してください。
https://github.com/PowerShell/PowerShell/blob/bcf86d4f8a1ce0ef11f0e9100490e790fb067574/src/System.Management.Automation/engine/runtime/Operations/MiscOps.cs#L2748

@powercodeありがとうございます。 他の読者のために、ここにAutomationNullに関するいくつかのリソースがあります:

@ alx9r :これは、後で#6436で尋ねた質問であり、 https: //github.com/PowerShell/PowerShell/issues/6436#issuecomment -375151317で焦点を当てましたが、別の問題を作成します:#6823

このページは役に立ちましたか?
0 / 5 - 0 評価