为什么 Powershell 不能正确处理带有美元符号和问号的字符串?

互联网 更新时间:2023-04-26 21:03:37

mkl*_*nt0 5

令人惊讶的是,?可以在 PowerShell 变量名称中使用,而无需将该名称包含在{...}.

因此,基于 PowerShell 的可扩展字符串规则(字符串内的字符串插值"..."),"$prid?api"查找具有逐字名称的变量,prid?api而不是考虑?隐式终止前面的标识符。

也就是说,您实际上可以定义和引用一个命名prid?api如下的变量:

PS> $prid?api = 'hi'; $prid?api
hi

这种令人惊讶的宽容实际上妨碍了PowerShell (Core) 7.1 中引入的最近引入的语言功能null-conditional aess

# v7.1+; note that the {...} around the name is - unexpectedly - *required*.
${variableThatMayBeNull}?.Foo()

GitHub 问题 #14025主张避免{...}在这种情况下使用。

更多推荐

字符串,问号,正确处理,符号,美元

本文发布于:2023-04-26 21:03:36,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/hyzx/28e2cbf69adb4dbec41cad4423dcf336.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:字符串   问号   正确处理   符号   美元

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 89741文章数
  • 23111阅读数
  • 0评论数