実際、便利です。 自動テストの実行中にデバッグプリントすると、出力結果を探すのが大変です。 制御文字を使わなくても赤色で表示されるので、出力結果が簡単に見つかって便利です。
でも、毎回次のように書くのは面倒です。 特にIMEを有効にしないと👺を入力できないのが面倒です。
p '👺', 'abc'
というわけで、tengu_p
メソッドを実装しました。
def tengu_p(*args) p *args.map.with_index(1) { |msg, i| '👺' * i + msg.to_s } end
実行すると次の感じです。
追記
to_sじゃなくてinspectのほうがpの挙動としてはよさそう / tengu_p - @ledsun blog https://t.co/DfxdZC3cEt
— しんぺいくんさん (@shinpei0213) May 16, 2022
Object#inspect (Ruby 3.1 リファレンスマニュアル)
組み込み関数 Kernel.#p は、このメソッドの結果を使用してオブジェクトを表示します。