在我遇到的所有示例中,管道单子仅在进行分配时才被破坏。那是:
$result = ls | %{$_.FullName} | select -first
在没有赋值的情况下,上述语句的输出是一个只有一个项目的管道(由于使用select -first
),默认为写入write-host
。
是否可以破坏管道 monad,以便结果是单个值而不将其分配给变量或等效项(例如,将结果作为参数传递给接受字符串的 Cmdlet)
(相当于我所追求的 LINQ 是,它通过返回第一个实际值First()
来打破单子)IEnumerable
注意:我对这个问题的答案没有实际用途,它只是学术性的。