プログラムは通常、何らかの処理を行なってその結果を出力します。 ここでは、出力として一番典型的な画面への表示を説明します。
Rubyでは、print文 を使って画面表示が行なえます。
print "Welcome to Ruby.\n"
前の節で説明したプログラムは、 Welcome to Ruby という文字の並びを画面に表示します。これを文字列といいます。 "と"ではさんだ部分が文字列です。 このように文字列を表現するときは、文字列を" ではさみます。 ただし、\n は特殊な文字で「改行」を意味します。例えば、
print "Welcome to \nRuby.\n"
を実行すると、
Welcome to
Ruby.
と表示されます。
\n以外にも特殊な文字列があります。 詳しくはこちらを見てください。 なお、\ 自体を表現したい場合は、\\と書きます。 さて、文字列の中に " を入れたい場合は、どうするのでしょうか? " を入れたい場合は、\" と書けば良いのです。
次に電卓でできるような計算をしてみましょう。 printの後に計算式を書いてみましょう。
print 100+50
これを実行すると、150が表示されます。ただし注意しないといけないのは、 電卓と違って掛ける記号は×ではなく*、割る記号は÷ではなく/を使います。 以下の例を見てください。
print 100*50 ⇒ 5000 100×50の値を表示 print 100/50 ⇒ 2 100÷50の値を表示 print 10+20*3 ⇒ 70 10+20×3の値を表示 print ((10+20)*3) ⇒ 90 (10+20)×3の値を表示 print 10%3 ⇒ 1 10を3で割った余りを表示
また、
print "100+50"
は、100+50と表示されます。 "100+50"は100と50を足すのではなく、 100+50という単なる文字の並び(文字列)なのです。この文字列と計算結果 を一緒に表示してみましょう。
print "100+50 = ", 100+50
実行結果:
100+50 = 150
このように、print文では表示したいものを ,(カンマ)で区切って並べることができます。
例:
print "今月のこづかいは", 24000/12, "円です。\n"
実行結果:
今月のこづかいは2000円です。
通常はこのようにprint文の最後に"\n"をつけて改行してください。 そうしないと次のprint文による表示とつながってしまいます。
[補足]
今までは、print文は、例えばprint "Welcome\n" と書きましたが、
これは正式には、
print("Welcome\n")
と書きます。
つまり、print "Welcome\n" はカッコが省略されている書き方なのです。 このカッコは、あいまいでない、つまり、別の意味にとられる恐れがなければ省略できます。
例えば、以下の場合はカッコを省略できません。
これを、print (10+20)*3, "\n"と書くとエラーになります。 そう書くと、(print (10+20))*3, "\n" という意味になります。 これは、まずprint (10+20)でひとまとまりに解釈されて、 その後に *3, "\n" があると解釈されます。 厳密に言うと、print (10+20)が実行され、その結果として返す値に対し *3を実行しようとしてエラーになります。
プログラムを実行してエラーが出て、どこも誤っていないようなら、省略してはいけないカッコを省略していないか疑ってください。
次に100を3で割ってみましょう。
print 100/3
33と表示されるはずです。 これを電卓で計算するとどうなるでしょうか? 33.33333…と表示されるはずです。
実は、この場合 Ruby は整数の割り算を行なっています。 つまり整数値を整数値で割り、答えも整数値として計算しています。 このため小数点以下は切り捨てられてしまいます。 実数として計算したい場合には、割るほうか割られるほうかのどちらかを実数として書きます。
print 100.0/3
print 100/3.0
33.33333333 と表示されるはずです。