【Powershell(类似Haskell的$(apply)运算符())】幽沉谢世事,俯默窥唐虞。这篇文章主要讲述Powershell:类似Haskell的$(apply)运算符?相关的知识,希望能为你提供帮助。
我经常开始输入azure命令,然后需要访问一个属性,最后是命令
(($a|get-something).prop1|get-otherstuff).prop2
有没有一种优雅的方式(或黑客)写它更像像haskell,以避免必须跳到开头paranthesis线的开头?我在想
$a | get-someArray $ [0] | get-details $ .prop2
对于
.
可访问的属性,我得到了这个:function $ {param([parameter(ValueFromPipeline)] $x, [parameter(Position=1)]$y)$x|Select-Object -ExpandProperty $y}
允许我做
expr |$ prop | expr |$ prop
而不是((expr).prop) | expr).prop
。对于阵列访问,我们可以做到
function § {param([parameter(ValueFromPipeline)] $x, [parameter(Position=1)]$y)$x[$y]}
因此,我们可以做到这一点:
arrayexpr |§ 0 |$ prop
你有更多的想法可以让我们在打字之前不去思考吗?
答案我真的不太了解Haskell,但是
$a | Get-Something | % prop1 | Get-OtherStuff | % prop2
也许?
当然,它很容易破损,你可能仍需要括号来澄清哪些结果以什么方式分组。但
ForEach-Object
是通过管道访问房产价值的便捷方式,远远超过Select-Object -ExpandProperty
。推荐阅读
- 以编程方式测试是否在Android 10+中禁用了旧版外部存储访问
- 任务执行失败'(app:transformDexArchiveWithExternalLibsDexMergerForDebug')
- 构建Android时会忽略make -j(jobs)选项(默认为所有核心)
- 升级Android Studio 3.1.2后,ProGuard配置解析器出错()
- Android studio安装APK在手机上但无法找到该应用程序
- 下一代技术如何帮助当今防止欺诈
- AR Apps开发人员的7个基本技能
- 由数据驱动的医疗保健提供商的5大优势
- 数据分析中机器学习和大数据的智能实现(5个实际应用)