2012-07-21 52 views
1

我是一個懶惰的程序員,所有這些hash [「Key」]標點符號都讓我感到緊張。是否有語法糖(可能是不同的對象類型),允許您創建使用成員方法語法(hash.Key)訪問的哈希表? Ruby中有很多簡單的操作。 Powershell中有這樣做嗎?Powershell散列表可以通過.Key而不是[「Key」]以某種方式訪問​​嗎?

+0

它談論字典等,有可能在這裏有用的信息:http://stackoverflow.com/questions/3577488/does-powershell-have-a-method-missing(我尋找「powershell method_missing」,其中是如何Ruby的ostruct和類似的工作。) – 2012-07-21 17:39:41

回答

4

是:

$hash = @{"a" = 1; "b" = 2 } 
$val = $hash.a 

注意:這也未嘗任何IDictionary的,不只是哈希表的工作原理。

+0

+1,因爲它確實回答了提出的問題。然而,我不知道是否有類似的支持常見的CLR類型(如Dictionary,或其他可索引的Collection,可能會從調用方法返回)。 – 2012-07-21 17:42:14

+1

該死,我很愚蠢。我失敗了,但是因爲我試圖在字符串擴展中使用它,而不使用$()。我爲這個愚蠢的問題道歉。我指的是哈希@pst,而不是字典,儘管我非常感謝你對我的不信任愚蠢的問題的信任......我只是使用錯誤的語法進行第一次測試失敗:「Expand $ {hash.key}」,而不是「展開$($ hash.key)「。我沒有在字符串擴展之外測試它。 – 2012-07-21 18:18:11

+0

有趣的時代...這工作得很好,但我最初測試它的地方。 '$ ExecutionContext.InvoteCommand.ExpandString('$($ hash.key)')'失敗。但是同樣的命令,傳遞'$($ hash [''key'']'成功。 – 2012-07-23 02:14:43

相關問題