プログラミング入門 - Rubyを使って -, by Chris Pine, 日本語ver. by S. Nishiyama
1.数(Numaber)
- 1年は何時間でしょうか?
うるう年ではないとします。
>> 24*365
=> 8760
- 10年間は何分でしょうか?
うるう年が2回ありますので、計算に含めます。
>> 60*24*(365*10+10/4)
=> 5258880
- あなたが生まれてから今日まで何秒たっているでしょうか?
>> (Time.now - Time.local(1973,12,3,0,0,0)).to_i
=> 1250124789
- あなたは一生のうちいくつのチョコレートを食べたいですか?
1週間に1つのチョコを食べるとします。
>> (80*365)/7
=> 4171
- 私が生まれてから10億3400万秒 たっているとしたら、私は今何歳でしょう
>> 1034000000/(60*60*24*365)
=> 32
4.数と文字列の変換
- 最初に姓、次に名前を聞いて、最後にフルネームに対してあいさつを するようなプログラムを書いてみましょう。
pochi-2:Test snumano$ cat 4-1.rb #!/usr/bin/ruby puts 'こんにちは。あなたの姓を入力してください' last = gets.chomp puts '次は、あなたの名を入力してください' first = gets.chomp puts 'あなたの名前は' + first + ' ' + last + 'ですね。' pochi-2:Test snumano$ ./4-1.rb こんにちは。あなたの姓を入力してください Numano 次は、あなたの名を入力してください Shugo あなたの名前はShugo Numanoですね。
- 好きな数を入力してもらい、それに1を加えて、その結果を ベターな 数字として薦めるプログラムを書きましょう。
pochi-2:Test snumano$ cat 4-1.rb #!/usr/bin/ruby puts 'こんにちは。あなたの姓を入力してください' last = gets.chomp puts '次は、あなたの名を入力してください' first = gets.chomp puts 'あなたの名前は' + first + ' ' + last + 'ですね。' pochi-2:Test snumano$ ./4-1.rb こんにちは。あなたの姓を入力してください Numano 次は、あなたの名を入力してください Shugo あなたの名前はShugo Numanoですね。
5.メソッド(method)
- 「怒ったボス」のプログラム
pochi-2:Test snumano$ cat 5-1.rb #!/usr/bin/ruby $KCODE = 'UTF-8' puts '望みは何だ?' hope = gets.chomp if hope =~ /給料上げてください/ then puts 'なにぃ? "給料上げてください" だとー!! おまえは首だ!! ' else puts 'なにぃ?' + hope + 'だとー!!お前は首だ!!' end pochi-2:Test snumano$ ./5-1.rb 望みは何だ? 休みたい なにぃ?休みたいだとー!!お前は首だ!! pochi-2:Test snumano$ ./5-1.rb 望みは何だ? 給料上げてください なにぃ? "給料上げてください" だとー!! おまえは首だ!!
- 「目次」を表示する プログラム
pochi-2:Test snumano$ cat 5-2.rb
#!/usr/bin/ruby
$KCODE = 'UTF-8'
lineWidth = 20
lineWidth2 = 10
index = '目次'
chap1 = '1章: 数'
chap1Page = 'p. 1'
chap2 = '2章: 文字'
chap2Page = 'p. 72'
chap3 = '3章: 変数'
chap3Page = 'p. 118'
puts index.center(lineWidth)
puts chap1.ljust(lineWidth) + chap1Page.center(lineWidth2)
puts chap2.ljust(lineWidth) + chap2Page.center(lineWidth2)
puts chap3.ljust(lineWidth) + chap3Page.center(lineWidth2)
pochi-2:Test snumano$ ./5-2.rb
目次
1章: 数 p. 1
2章: 文字 p. 72
3章: 変数 p. 118