【PowerShell】シンプルにテキストを出力する関数


この記事はプロモーションを含みます。

PowerShell

ホーム > PowerShell 逆引きリファレンス

以前、PowerShellで簡単にテキストを出力方法を解説しましたが、同じような記述が何度もあり、ソースコードの可読性が低くなっていました。
今回は、関数化することで、処理内容は変更せず、可読性を上げたいと思います。

前回の記事は下記になります。

ソースコード

早速、ソースコードになります。
前回に比べてかなりシンプルにまとまりました。

$log_path = "C:\work\ps1.txt"

function log($logMsg){
	Write-Output $logMsg | Out-File $log_path -Encoding default -Append
}

log("あいうえお")
log("かきくけこ")
log("さしすせそ")

ソースコードの解説になります。テキストの出力は前回説明したため省略します。
今回のポイントとなる関数化について重点を当てて説明します。

関数は「function {関数名} ({引数がある場合は引数名})」と記述することで作成できます。

サンプルでは「function log($logMsg)」となっており、関数名が「log」、引数が「logMsg」としています。
処理内容は、引数で渡された文字列をテキストに出力(追記)します。

関数の呼び出し方は「log({テキストに出力する文字列})」です。

サンプルでは、「log(あいうえお)」のように呼び出しています。
この場合は、テキストに「あいうえお」が出力されます。

実行結果

サンプルの実行結果になります。前回解説時と同じように出力されていることが分かります。
複数回実行した場合も、前回同様、追記されて出力されます。

あいうえお
かきくけこ
さしすせそ

記事は以上です。関数化することで、ソースコードがすっきりしましたね。
コードが多く複雑になってくると、関数化が必須になります。この機会に覚えておきましょう。

文中で何度か登場した前回の記事ですが、以下になります。
こちらは関数を使用していない記述方法で、合わせて読んでいただくと、より理解が深まるのかなと思います。

コメント

タイトルとURLをコピーしました