TaKesso's Tech Blog

Web中心の技術メモ

Ruby: Stringクラスの文字列フォーマット

REx - Ruby Examination で解いた問題の解説を自分なりにまとめ直すシリーズです。

問題

次のコードを実行するとどうなりますか

p "Hello%d" % 5

選択肢

  1. "HelloHelloHelloHelloHello"と表示される
  2. "Hello"と表示される
  3. "Hello5"と表示される
  4. エラーになる

解答

正解は [3] です

解説

指示子

  • Stringクラスの%はフォーマットされた文字列を返します。
  • 指示子は引数の型の解釈を示します。(指示子 = %の右側の記号)
  • 指示子を省略することはできません。
  • 指示子には大きく分けて3種類あります。
    • 文字列を表す指示子: c, s, p
    • 整数を表す指示子: d, i, u, b, B, o, x, X,
    • 浮動小数点数を表す指示子: f, g, e, E, G

参考: module function Kernel.#format (Ruby 2.1.0)