PowerShell:创建闭包的优雅方式
Keith Hill 向我解释了阻止在PowerShell中不是闭包,要从块创建闭包,我必须调用方法.GetNewClosure()。
有没有什么优雅的方法可以从块创建闭包? (例如创建一个包装函数,一个别名?,...)
示例:
{ block }
${ closure } # ???
Keith Hill explained me that blocks in PowerShell are not closures and that to create closures from blocks I have to call method .GetNewClosure().
Is there any elegant way to create closures from blocks? (e.g. create a wrapping function, an alias?, ...)
Example:
{ block }
${ closure } # ???
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以创建一个接受脚本块、调用 GetNewClosure 并返回闭包的函数。使用点运算符调用此函数至关重要,例如:
不确定这是否比仅在脚本块上调用 GetNewClosure() 好得多。请注意,您可以为该函数选择其他名称。我想要一些更像 C# lambda 的东西。
You could create a function that takes a scriptblock, calls GetNewClosure and returns the closure. It is essential that you call this function using the dot operator e.g.:
Not sure this is much better than just calling GetNewClosure() on the scriptblock though. Note you can pick some other name for the function. I was going for something more like C# lambdas.