[PowerShell] 文字列の自動展開
PowerShell の文字列の扱いについて、ちょっと Ruby に似ている面白い挙動がある。
エスケープシーケンスでも、同様の展開が行われる。
$hoge = "john" Write-Host "私の名前は $hoge です。" # 出力 # 私の名前は john です。 Write-Host '私の名前は $hoge です。' # 出力 # 私の名前は $hoge です。「 " 」 (ダブルクォーテーション) の場合は、変数名を引用符の中に含めてあっても自動的に展開してくれる。しかし、「 ' 」 (シングルクォーテーション) の場合は、そのまま文字列として出力される。Ruby と違って式 ( #{ } ) で囲む必要はない。
エスケープシーケンスでも、同様の展開が行われる。
$hoge = "john" Write-Output "私の名前は`n$hoge です。" # 出力 # 私の名前は # john です。覚えておくといいかもしれない。