いろいろな書き方ができる真偽値
たとえば Ansible の Playbook では、真偽値を指定する時に、true/false
、yes/no
などいろいろな書き方ができてしまいます。
去年、Ansible のコミュニティでは、ドキュメント上どう統一するのがいいかの投票がありました。
ansbile のドキュメントにおけるにおける boolean は yes/no が遣われがちだったが、ansilbe-lint では true/false でないとエラーになる。どうしたもんでしょという issue。https://t.co/dcNl9R83sl
— よこち (@akira6592) 2022年8月3日
現在 true/false
への書き換えが進んでいます。yamllint のデフォルトでも true/false
を正としています。
不都合
ただ統一感がなくて混乱する、以上の不都合が起こることがあります。
たとえば、ネットワーク機器の操作で対話的に yes
というコマンドを実行する場合に
comamnds: - yes
のようにしてしまう場合です。文字列として扱ってほしい場合はクォーテーションで囲う必要があります。
The Norway Problem
最近知ったのですが、ノルウェー問題(The Norway Problem)と呼ぶことがあるようです。
Norway の 略称 NO
をそのまま指定してしまうと False
になるという話です。