INI 構成ファイルでブール値を設定するにはどうすればいいですか? 質問する

INI 構成ファイルでブール値を設定するにはどうすればいいですか? 質問する

INI ファイルでブール値を設定するために使用されるさまざまな方法を見てきました。

  • variable = true
  • variable = 1
  • variable = on
  • variable = yes

最も標準的、一般的、または推奨される方法はどれですか?

ベストアンサー1

INI ファイルの仕様はありませんが、参考までに、私が知っている言語の実装の動作をいくつかリストします。

Pythonの組み込みconfigparserモジュールは、getboolean次のように動作します。

受け入れられる値は、、、'1'およびで、これらを指定すると、このメソッドは を返し、、、、およびで、これら'yes'を指定すると、このメソッドはを返します。'true''on'True'0''no''false''off'False

PHPではparse_init_file、 一方で:

文字列値"真実""の上"そして"はい"に変換されます真実"間違い""オフ""いいえ"そして"なし"考えられています間違い

一方、.NETにはINI解析の組み込みサポートはありませんが、最も人気のあるINI解析ライブラリであるiniパーサーは、値の自動解析を一切サポートしておらず、すべて文字列として返します。はじめる.NETでブール値を解析する例Boolean.Parseは、文字列"true"および"false"(大文字と小文字は問いません) を受け入れ、それ以外の文字列が指定された場合は例外をスローします。

要約すると、この問題に関しては、INI パーサーの異なる実装間で一貫性がまったくありません。

私がお勧めします:

  • 単一のパーサーのみを使用して INI を解析する場合は、そのパーサーの動作を確認し、その特定の実装に合わせて INI を作成します。
  • 広範囲のパーサーをサポートする必要がある場合 (たとえば、言語の相互運用性のため)、INI 形式を完全に放棄するか、一部のパーサーが理解するマジック ブール値の使用を完全に避けて、代わりに および を使用し1ます0

おすすめ記事