我在木偶中有这样的数据结构:
Struct[
'ssh_keys' => Hash[
String,
Struct[
'path' => String,
'content' => String,
]
]
] $myStructure
Run Code Online (Sandbox Code Playgroud)
我想将所有“路径”值提取到一个数组中。
我使用映射内部结构
$testvariable = $myStructure['ssh_keys'].map |$items| { $items[1] }
Run Code Online (Sandbox Code Playgroud)
但这里有点糟糕,任何帮助将不胜感激。
目前还不清楚你在纠结什么,因为你确实已经完成了大部分应该可行的解决方案。然而,对于哈希,我通常更喜欢map()lambda 接受两个参数、一个单独的键和值的函数形式。在这种情况下,读起来会更清楚:
$testvariable = $myStructure['ssh_keys'].map |$unused, $ssh_key| { $ssh_key['path'] }
Run Code Online (Sandbox Code Playgroud)
但您还应该能够在原始代码中将其索引$items[1]为哈希 ( Struct):$items[1]['path']。
dig()如果您无法忍受上面的数组和散列索引的混合,您也可以使用该函数: $items.dig(1, 'path')。
| 归档时间: |
|
| 查看次数: |
884 次 |
| 最近记录: |