powershell管道monad是否可以在没有分配的情况下中断?
在我遇到的所有示例中,管道monad只有在赋值时才会中断。即:powershell管道monad是否可以在没有分配的情况下中断?,powershell,Powershell,在我遇到的所有示例中,管道monad只有在赋值时才会中断。即: $result = ls | %{$_.FullName} | select -first 在没有赋值的情况下,上述语句的输出正好是一个项目的管道(由于使用了select-first),默认为写入write host 是否可以中断管道monad,使结果为单个值,而不将其分配给变量或等效项(例如,将结果作为参数传递给接受字符串的Cmdlet) (与我所追求的等价的LINQ是First(),它通过返回第一个实际值来打破IEnumera
$result = ls | %{$_.FullName} | select -first
在没有赋值的情况下,上述语句的输出正好是一个项目的管道(由于使用了select-first
),默认为写入write host
是否可以中断管道monad,使结果为单个值,而不将其分配给变量或等效项(例如,将结果作为参数传递给接受字符串的Cmdlet)
(与我所追求的等价的LINQ是First()
,它通过返回第一个实际值来打破IEnumerable
单子)
注意:我对这个问题的答案没有实际用途,它只是学术性的。编辑罗曼是对的,我不确定它一开始是如何工作的。更新 似乎最简单的方法是简单地访问第一项:
( @{Value = 1}, @{Value = 2} )[0].Value
如果没有任何项目,将优雅地面对:
@()[0].Value
嗯,我的结果不一样。在V2中,我什么也看不到。在V3中,我看到了两项:1、2。