情報アイランド

「情報を制する者は世界を制す」をモットーに様々な情報を提供することを目指すブログです。現在はプログラミング関連情報が多めですが、投資関連情報も取り扱っていきたいです。

Node.jsで書式指定により文字列を生成する

2016/03/22

書式指定により文字列を生成するにはutil.format関数を使用します。

第1引数にフォーマット(書式指定文字列が0個以上含まれる文字列)を指定します。

第2引数以降に第1引数のフォーマットの書式指定文字列に順番に埋め込む値を指定します。

書式指定文字列には下の3種類があります。

  • %s・・・文字列。
  • %d・・・数値(整数と小数の両方)。
  • %j・・・JSON。

なお、フォーマットの中で%そのものを表記したい場合には、%の代わりに%%を使用します。

この関数を呼び出しても標準出力や標準エラー出力に文字列が出力される訳ではありません。この関数を呼び出すことによって書式指定により生成された文字列が返り値として得られます。

標準出力に文字列を出力するにはこの文字列を引数に指定してprocess.stdout.write関数やconsole.log関数、console.info関数などを呼び出さなければなりません。

標準エラー出力に文字列を出力するにはこの文字列を引数に指定してprocess.stderr.write関数やconsole.error関数、console.warn関数などを呼び出さなければなりません。

なお、console.log関数、console.info関数、console.error関数、console.warn関数の4つの場合、書式指定により文字列を出力することもできるため、util.format関数を使用する必要はありません。本来util.format関数に渡す引数をそのままこれらの関数に渡してやれば良いです。

サンプルコード1

process.stdout.write関数とutil.format関数を使用する場合とconsole.log関数を使用する場合の比較です。

process.stdout.write関数は改行を行わないので自分で改行しなければなりません。

util-format.js

var util = require('util');

process.stdout.write(util.format('Hello, %s', 'Kazuki') + '\r\n');
console.log('Hello, %s', 'Kazuki');

実行結果

C:\work\node>node util-format.js
Hello, Kazuki
Hello, Kazuki

関連

pizyumi
プログラミング歴19年のベテランプログラマー。業務システム全般何でも作れます。現在はWeb系の技術を勉強中。
スポンサーリンク

-Node.js