Rubyスクリプト/number の変更点


*数(number) [#rd49e1e8]

 puts 1+2
このプログラム(はい、これもれっきとしたプログラムです。)をcalc.rbという名前で保存します。(.rbというのは、Rubyで書かれたプログラムのファイルによく使われる拡張子です。) さて、コマンドラインでruby calc.rbと入力して実行させてみましょう。画面に3が表示されるはずです。どうです?プログラムはそんなに難しくないですよね。 

puts 入門 
さて、このプログラムでは何が行われているんでしょう? 1+2 が何をやっているのかは推測できますね。このプログラムは基本的に次のものと同じです。 

 puts 3
putsは、単にその後に来るものを画面に出力します。 

整数(Integer)と浮動小数点数(Float) 
ほとんどのプログラム言語では(Rubyも例外ではないのですが) 小数点なしの数字は整数(integer) と呼ばれます。そして、小数点つきの数字は浮動小数点数 (floating-point numbers; float) と呼ばれます。 

ここにいくつかの整数の例を示します。 

 5
 -205
 9999999999999999999999999
 0
次に、浮動小数点数の例を示します。 

 3.14
 0.001
 -205.3884
 0.0
実際、プログラムで浮動小数点数が使われることはあまり多くありません。たいていは整数だけでこと足ります。 (誰も7.4通のe-mailを受け取ったり、1.8ページのウェブページを見たり、はたまた、5.24曲の歌を聴いたりなんてしたいとは思いませんから。) 浮動小数点数は学術的な目的(物理実験など)や3Dのグラフィックスなどではより多く用いられます。また、ほとんどの会計プログラムも整数しか使いません。それらは1円単位(アメリカではドルではなくセント単位)の整数で金額を保持しています。 

単純な計算 
ここまでの説明だけで、もう簡単な計算機は作れてしまいます。 (電卓では小数を使っています。そこで、もしコンピュータに電卓として振舞ってもらうのであれば、浮動小数点数を用いるべきです。) 足し算と引き算には、それぞれ+と-を用います。掛け算には*を、割り算には/を用います。ほとんどのキーボードは右のほうにテンキーがあってそこにこのような算術演算の記号のキーがあります。ノートパソコンなどの場合はShift + :と /(?と同じキー)を使います。それでは、私たちのcalc.rbを少し拡張していきましょう。次のコードをタイプして実行してみてください。 

 puts 1.0 + 2.0
 puts 2.0 * 3.0
 puts 5.0 - 8.0
 puts 9.0 / 2.0
プログラムの出力は次のとおり

 3.0
 6.0
 -3.0
 4.5

(プログラム中のスペースはコードを読みやすくします。) ここには驚くようなことはありませんね。さて、では整数ではどうでしょう。 

 puts 1+2
 puts 2*3
 puts 5-8
 puts 9/2
ほとんどは、浮動小数点のときと同じですけど・・

 3
 6
 -3
 4

最後のだけ違いますね。整数どうしでの計算をするときには、答えは整数になります。ぴったりした答えにならないときはコンピュータは切捨てを行ってしまいます。 (もちろん、4が9/2という整数演算の正しい答えです。あなたの期待通りではないとしてもです。) 

おそらく、整数の割り算に何の意味があるのか不思議に思うことでしょう。では、たとえば、あなたは映画を見に行こうと思ったとしましょう。ただし、今9ドルしかもっていません。ここポートランドでは2ドルで映画を見ることができます。では、いくつの映画を見ることができるでしょう? 9/2... 4本です。この場合は、4.5本というのは、正しい答えではありません。映画の半分だけ見るとか、あなたの半分だけ全部の映画を見るとかは出来ない相談です。要するに分割できないものもあるのだということです。 

さて、自分で好きなプログラムを書いて実験してみましょう。より複雑な数式が書きたくなったら、括弧()を使うことが出来ます。たとえば: 

 puts 5 * (12-8) + -15
 puts 98 + (59872 / (13*8)) * -52
 5
 -29802