[英]How to use line breaks in PowerShell Method-Chaining
不幸的是, about_Methods似乎没有对方法链及其解析规则进行澄清。 如果你想在新行上链接多个方法,点.
必须在每个语句的末尾,然后允许换行。 不需要反引号。
例如:
[powershell]::Create().
AddScript({ "hello $args" }).
AddArgument('world').
Invoke()
链接方法调用的另一种方法是使用ForEach-Object
命令(别名%
)。 这依赖于使用-MemberName
参数设置的参数(通过将字符串作为第一个参数隐式传递)。
PowerShell 7+甚至可以让您编写 pipe 符号|
在新的一行:
[powershell]::Create()
|% AddScript { "hello $args" }
|% AddArgument 'world'
|% Invoke
如果有多个方法arguments,则必须用,
分隔(不需要括号)。
对于PS 5 及以下版本,您必须使用略有不同的语法,因为 pipe 符号必须与上一个命令位于同一行:
[powershell]::Create() |
% AddScript { "hello $args" } |
% AddArgument 'world' |
% Invoke
这是比使用成员访问运算符更好的方法吗.
? 我不这么认为,这只是一种不同的方式。 IMO 与常规 PowerShell 命令相比,它看起来确实更一致。 性能可能比.
但对于高级代码,它可能无关紧要(我没有测量过)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.