module function Kernel.#printf

printf(format, *arg) -> nil[permalink][rdoc]
printf(port, format, *arg) -> nil

C 言語の printf と同じように、format に従い引数を文字列に変換して port に出力します。

port を省略した場合は標準出力 $stdout に出力します。

引数を 1 つも指定しなければ何もしません。

Ruby における format 文字列の拡張については Kernel.#sprintfの項を参照してください。

[PARAM] port:
出力先になるIO のサブクラスのインスタンスです。
[PARAM] format:
フォーマット文字列です。
[PARAM] arg:
フォーマットされる引数です。
[EXCEPTION] ArgumentError:
port を指定したのに format を省略した場合に発生します。
[EXCEPTION] IOError:
port が書き込み用にオープンされていなければ発生します。
[EXCEPTION] Errno::EXXX:
出力に失敗した場合に発生します。
printf("calculate%3s%-6s%.15f", 'PI', '...', Math::PI)
#=> calculate PI...   3.141592653589793

printf("%d %04x", 123, 123)               #=> "123 007b"
printf("%08b '%4s'", 123, 123)            #=> "01111011 ' 123'"
printf("%1$*2$s %2$d %1$s", "hello", 8)   #=> "   hello 8 hello"
printf("%1$*2$s %2$d", "hello", -8)       #=> "hello    -8"
printf("%+g:% g:%-g", 1.23, 1.23, 1.23)   #=> "+1.23: 1.23:1.23"
printf("%u", -123)                        #=> "..4294967173"

[SEE_ALSO] Kernel.#sprintf,IO#printf