2012-05-04 82 views
0

在我遇到的所有例子中,流水線monad僅在作業完成時纔會中斷。那就是:PowerShell管道monad是否可以在未分配的情況下被破壞?

$result = ls | %{$_.FullName} | select -first 

沒有分配,上述語句的輸出正好是一個項目的管道(由於使用的select -first),默認爲寫write-host

是否有可能打破管道單子,使得結果是單一的值而不將其分配給一個變量或等同(例如,使所述結果作爲參數傳遞給接受字符串小命令)

(LINQ的相當於什麼,我後First(),它通過返回的第一個實際值突破了IEnumerable單子)

注:我有一個回答這個問題沒有實際用途,它只是學術性的。

回答

0

編輯羅馬是正確的,不知道它是如何工作的,我開始。更新。

看來,最簡單的方法是簡單地訪問的第一個項目:如果沒有項目

(@{Value = 1}, @{Value = 2})[0].Value 

這將優雅地面對:

@()[0].Value 
+2

嗯,我的結果是不同的。在V2中我什麼都看不到。在V3中,我看到2項:1,2。 –

相關問題