有人知道是否可以打算here-string
。其实我要写:
$someString = @"
First line
second line
"@
如果在更深的缩进级别定义here-string
,这会变得非常难看,因为结尾"@
必须是该行的第一个字符。此外,有人可能会“修复”缺失的缩进并破坏脚本......
是否可以定义here-string
之类的:
$someString = @"
First line
second line
"@
Thx
答案 0 :(得分:3)
结束"@
必须位于该行的开头。
我同意你的观点,这可能会使脚本文件难以阅读,但这是规则,据我所知,没有办法解决它。
您可以找到用户语音条目here,如果您觉得这对您很重要,您应该投票支持。目前看来并不是优先考虑,只有3票,但投票越多,PowerShell团队的优先级越高。
答案 1 :(得分:0)
迟到的答案(技术上是“解决方法”),我知道,但这是目前“PowerShell here-string indentation”的第一个搜索结果。
<块引用>如果在更深的缩进级别上定义 here-string,这将变得非常难看
我同意。对于我们这些关心生成代码的美感的人,我在 this TechNet question 上找到了以下解决方法。
它绝对不是一个here-string(特别是,因为你仍然必须转义嵌入的引号),但至少对于许多多行用例,它会服务相同的目的,并允许您保持与代码块其余部分相同的缩进级别:
$somestring = (
"First line",
"Second line"
) -join "`r`n"