Rubyチュートリアル4章

takashi42332007-04-30

ここまで内容は,さりとて難しくもなかった.
少し「おっ!」っと思ったのは,整数除算が小数点以下を切り捨てる事の意味.

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

今迄,作ってきたプログラムは解析とか,実験とかそういうので使っていたので,
小数点以下も非常に重要な意味を持っていた.
だけど,自然数という言葉の通り,自然界では小数点の計算はさほど必要ない.




また,数値×文字列は不可だけど,文字列×数値は可なんだって.
たいした問題では無いと思うけど.これをエラーにする意味は何なんだろう?
字句解析とか勉強したら分かるのかな(汗



あと,これは凄いと思ったのが,
3.to_s
という使い方.これってつまり,Rubyでは数字さえもオブジェクトって事だと思う.
どう使うとか,だから何が便利とかは分からないけど.
何となく,これって凄い気がする.


4章の練習問題の個人的回答

最初に姓、次に名前を聞いて、最後にフルネームに対してあいさつをするようなプログラムを書いてみましょう。

puts "Please input your First name>>"
first_name  = gets.chomp
puts "Please input your Last name>>"
last_name = gets.chomp
puts "Your name is " + first_name + "." + last_name + ". Nice to meet you."

好きな数を入力してもらい、それに1を加えて、その結果を ベターな 数字として薦めるプログラムを書きましょう。 (機転の利いたサジェスチョンに努めましょう。)

puts "Input your favorite number >>"
num = gets.chomp

#後半でto_sにする必要がある.
#理由は,"i" + 5 が出来ないのと同じ

puts "I like " + (num.to_i + 1).to_s + "."
#気の利いたサジェスチョンは諦める

num.to_i + 1というのに気づくのに時間がかかった...