Techioz Blog

Ruby スクリプトによって端末に出力されるときに、この YAML データ内の ANSI エスケープ文字が評価されないのはなぜですか?

概要

次の YAML データがあります。

データ.yml

game:
  welcome: Welcome to \e[34myour\e[0m new chess game players.\n\n

私は次のようにして正常にアクセスしています:

puts data['game']['welcome']

ただし、端末に出力する場合、ANSI エスケープ文字の書式設定も改行の書式設定も機能しません。すべての文字を文字通りに出力するだけです。私は試しました/チェックしました:

これを機能させる方法はありますか?ありがとう

解決策

YAML では、二重引用符で囲まれたスカラーのエスケープ文字シーケンスのみが許可されます。 YAML 仕様のセクション 5.7 エスケープ文字を参照してください [太字斜体の強調は私のもの]: