2014-04-10 43 views
1

我有一個Ruby腳本,我打電話給一個 Powershell腳本的這個ruby腳本。我希望Ruby將結果作爲數組返回到 Powershell..So我將能夠使用Powershell中的數組。我是一個非常初學Ruby的 ,所以在Ruby中構建數組時需要幫助。Ruby腳本返回數組到powershell

回答

0

你忽略了你的Ruby數組應該包含什麼,所以我會建議看在Ruby documentation的例子,像

first_array = ["Matz", "Guido"] 

如何創建和填充一個Ruby數組。

第二步是如何將此數組的內容傳輸到外部/調用Powershell腳本中。一種方法是使用標準輸出流,因此Ruby腳本將數組的內容寫入標準輸出 ,Powershell腳本按照here所述捕獲它。

實施例爲Ruby側(時輸入上面的例子線):

puts first_array 

將導致這樣的輸出

Matz 
Guido 

,每行中的條目,或者如果你喜歡CSV ,你可以試試

puts first_array.join(',') 

這將導致這個輸出

Matz,Guido 

或者你使用JSON或任何最適合的,當你稍後解析輸出。

最後一步是將Powershell內的輸出字符串解析爲其數組格式。

1

絕大多數Ruby實現都基於Unix模型:每個輸入和輸出都是一個(非結構化)字符流。因此,您必須有額外的PowerShell代碼才能將該非結構化字符流解析爲PowerShell陣列。如果您發佈一些衆所周知的格式作爲您的字符流,例如JSON,YAML,XML,XAML,CSV,這可以變得更容易。

事實上,您可以嘗試使用IronRuby的方法,並在Ruby中編寫PowerShell cmdlet。