25.a. 出力

目次へ 前の項目へ次の項目へ

先程からエディタでhello.rbというファイルを開いて準備をしています。その中身 は、

print "Hello, world!\n"

でした。これは、Rubyのスクリプトになっています。実際に、実行してみましょう。 ターミナルに移って、以下のコマンドを実行してみてください。

$ ruby hello.rb

結果はどうなりましたか?コマンドを入力した画面に

Hello, world!

と表示されたはずです。print というのは、ほぼ全ての言語で画面に結 果を表示するコマンドでして、Rubyでもそうなっています。ただ、ここで見慣れな い \n が出てきました。また、" " (二重引用符)は画面に出て きませんでした。二重引用符は画面に表示する文字の初めと終わりをRubyに教える ための区切り記号です。そして、\n は「改行文字」と呼ばれるもので、 バックスラッシュとnの二つで一つの文字を意味しています。試しに、先程の中身 から \n を消去して再び保存し、もう一度ターミナルで実行してみてく ださい。今度は、表示される文字は同じでも、ターミナルのコマンドプロンプトが Hello, world! の後に続けて表示されてしまいました。このように、 print による出力命令は最後に改行文字を入れておく必要があります。

出力の命令は print だけではありません。他にもいくつかあります。ま ずは、puts から見ていきましょう。次の内容に変更してみます。

puts "Hello, world!"

保存して実行するとどうなったでしょうか。改行文字が無くても画面にきちんと改 行が行われています。puts は自動的に改行を入れてくれます。では、 print は不便なだけで良いところが無いのでしょうか。次のスクリプト を作って試してみましょう。

puts "Hello", "world!"
print "Hello", "world!\n"

二重引用符とカンマが入り交じって見づらい文字を表示する命令になっています。 このような文字を取り扱うときにその対象を「文字列」と呼びます。結果をターミ ナルで実行して確認してみてください。次のようになりましたか?

Hello
world!
Hello world!

puts の例は、二つある文字列を 一行に一つずつ表示していますが、print の方は一行に表示しています。 puts だと、勝手に改行文字が入ってしまうので、複数のデータを一行 に表示したいときには、print を使う必要があるのです。

他にも、出力するコマンドはあります。今度は、スクリプトを次のように変更して みましょう。

p "Hello, world!"

ターミナルで実行すると次のような結果になります。

"Hello world!"

今度は、二重引用符がついて表示されました。p という単純なコマンド はその出力するもの(オブジェクトと言います)の意味を出力します。二重引用符が ついているのは、今出力したオブジェクトは Hello, world! という文字 列だよ、ということを教えてくれています。

最後にちょっと難しい出力方式を紹介だけしておきます。それは、printf というコマンドで、fがついているのは、フォーマットつき出力という意味 です。数値などの出力の際に、何桁で表示するか、小数点以下の桁数はどうする か、など、出力形式を細かく指定できるのが特徴です。のちほど、必要なときに 改めて紹介することにします。


ページの先頭へ目次へ 前の項目へ次の項目へ