Tambourine作業メモ

主にスキル習得のためにやった作業のメモ。他人には基本的に無用のものです。

ログ出力

文字列の配列を大文字に。

PS T:\PowerShell> "hoge", "fuga", "piyo"|%{$_.ToUpper()}
HOGE
FUGA
PIYO

ちゃんとforeachループの中が実行されているか確認するために、メッセージを出力させることに。

PS T:\PowerShell> "hoge", "fuga", "piyo"|%{"##LOOP!##";$_.ToUpper()}
##LOOP!##
HOGE
##LOOP!##
FUGA
##LOOP!##
PIYO

しかし、出力されたということは結果に含まれたと言うことである。

PS T:\PowerShell> $a = "hoge", "fuga", "piyo"|%{"##LOOP!##";$_.ToUpper()}
PS T:\PowerShell> $a
##LOOP!##
HOGE
##LOOP!##
FUGA
##LOOP!##
PIYO
PS T:\PowerShell> $a.length
6
<||

これはよろしくない。式の結果をアウトプットストリームに含めたくなければ、以下の様にすることも出来る。

>||
PS T:\PowerShell> $a = "hoge", "fuga", "piyo"|%{[void]"##LOOP!##";$_.ToUpper()}
PS T:\PowerShell> $a
HOGE
FUGA
PIYO

しかし、そもそも結果されないのでは意味がない。こうする。

PS T:\PowerShell> $a = "hoge", "fuga", "piyo"|%{Write-Host "##LOOP!##";$_.ToUppe
r()}
##LOOP!##
##LOOP!##
##LOOP!##
PS T:\PowerShell> $a
HOGE
FUGA
PIYO