Last active
August 29, 2015 13:57
-
-
Save gotagotagoat/9641289 to your computer and use it in GitHub Desktop.
[プログラミング入門 - Rubyを使って](http://www.ie.u-ryukyu.ac.jp/~kono/software/s04/tutorial/) の私的解答
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# coding : utf-8 | |
# 1年は何時間でしょうか? | |
puts 365 * 24 | |
# 10年間は何分でしょうか? | |
puts 365 * 10 * 24 * 60 | |
# あなたが生まれてから今日まで何秒たっているでしょうか? | |
now = Time.now | |
bd = Time.new(777, 7, 7) | |
puts (now - bd).to_i | |
# 私が生まれてから10億3400万秒 たっているとしたら、私は今何歳でしょう? | |
puts 1034000000 / 60 / 60 / 24 / 365 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# coding : utf-8 | |
puts "性は?" | |
sei = gets.chomp | |
puts "名は?" | |
na = gets.chomp | |
puts "こんにちは。 " + sei.to_s + " " + na.to_s + " さん。" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# coding : utf-8 | |
puts "好きな数字は?" | |
number = gets.chomp.to_i | |
puts (number + 1).to_s + "をおすすめします。" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# coding: utf-8 | |
puts "なにが望みだ" | |
command = gets.chomp | |
puts "なにぃ? " + command.to_s + " だとー!! おまえは首だ!!" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# coding: utf-8 | |
lineWidth = 40 | |
puts "目 次".center(lineWidth) | |
puts | |
puts "1章: 数".ljust(lineWidth/2) + "p. 1".rjust(lineWidth/2) | |
puts "2章: 文字".ljust(lineWidth/2) + "p. 72".rjust(lineWidth/2) | |
puts "3章: 変数".ljust(lineWidth/2) + "p. 118".rjust(lineWidth/2) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# coding: utf-8 | |
bottles = 99 | |
while bottles != 0 | |
puts bottles.to_s + "Bottles of beer on the wall" | |
puts bottles.to_s + "Bottles of beer" | |
puts "Take one down and pass it around" | |
bottles -= 1 | |
puts bottles.to_s + "Bottles of beer on the wall" | |
puts | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# coding: utf-8 | |
said = gets.chomp | |
while said != "BYE" | |
while said != said.upcase or said == "" | |
puts "は?! もっと大きな声で話しておくれ、坊や!" | |
said = gets.chomp | |
end | |
while said == said.upcase and said != "BYE" and said != "" | |
year = rand(20) + 1930 | |
puts "いやー、" + year.to_s + "年以来ないねー!" | |
said = gets.chomp | |
end | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# coding: utf-8 | |
bbamemory = 0 | |
said = gets.chomp | |
while bbamemory != 2 | |
while bbamemory == 0 | |
while said != said.upcase or said == "" | |
puts "は?! もっと大きな声で話しておくれ、坊や!" | |
said = gets.chomp | |
while said == said.upcase and said != "BYE" and said != "" | |
year = rand(20) + 1930 | |
puts "いやー、" + year.to_s + "年以来ないねー!" | |
said = gets.chomp | |
end | |
end | |
if said == "BYE" | |
puts "なんだって?" | |
said = gets.chomp | |
if said == "BYE" | |
bbamemory += 1 | |
else | |
bbamemory = 0 | |
end | |
end | |
while bbamemory == 1 | |
puts "え?なんだって???" | |
said = gets.chomp | |
if said == "BYE" | |
bbamemory += 1 | |
else | |
bbamemory = 0 | |
end | |
end | |
end | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# coding: utf-8 | |
bbamemory = 0 | |
said = "" | |
while bbamemory != 3 | |
while bbamemory == 0 | |
puts "なんだって?" | |
said = gets.chomp | |
if said == "BYE" | |
bbamemory += 1 | |
else | |
bbamemory = 0 | |
end | |
while bbamemory == 1 | |
puts "え?なんだって???" | |
said = gets.chomp | |
if said == "BYE" | |
bbamemory += 1 | |
else | |
bbamemory = 0 | |
end | |
while bbamemory == 2 | |
puts "ああああああああああ" | |
said = gets.chomp | |
if said == "BYE" | |
bbamemory += 1 | |
else | |
bbamemory = 0 | |
end | |
end | |
end | |
end | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# coding: utf-8 | |
puts "開始の年は?" | |
startYear = gets.to_i | |
puts "終わりの年は?" | |
finishYear = gets.to_i | |
puts "うるう年一覧" | |
for num in startYear..finishYear | |
x = num % 4 | |
y = num % 100 | |
z = num % 400 | |
if x == 0 and y != 0 | |
puts num | |
end | |
if z == 0 | |
puts num | |
end | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# coding: utf-8 | |
puts "開始の年は?" | |
startYear = gets.to_i | |
puts "終わりの年は?" | |
finishYear = gets.to_i | |
puts "うるう年一覧" | |
startYear += 4 - startYear % 4 if startYear % 4 != 0 | |
while startYear <= finishYear | |
if startYear % 100 != 0 or startYear % 400 == 0 | |
puts startYear | |
end | |
startYear += 4 | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# coding: utf-8 | |
word = [] | |
newWord = | |
puts "好きな言葉を入力してね。終了するには何も入力しないでReturnを押してね。" | |
while newWord != "" | |
newWord = gets.chomp | |
word << newWord | |
end | |
puts "あなたの好きな言葉をアルファベット順に並べるよ" | |
puts word.sort |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# coding: utf-8 | |
lineWidth = 40 | |
mokuji = ["目 次".center(lineWidth), "1章: 数".ljust(lineWidth/2) + "p. 1".rjust(lineWidth/2), "2章: 文字".ljust(lineWidth/2) + "p. 72".rjust(lineWidth/2), "3章: 変数".ljust(lineWidth/2) + "p. 118".rjust(lineWidth/2)] | |
puts mokuji |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#coding: utf-8 | |
def englishNumber number | |
if number < 0 | |
return '負でない数を入力してください.' | |
end | |
if number == 0 | |
return 'zero' | |
end | |
numString = '' | |
onesPlace = ['one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine'] | |
tensPlace = ['ten', 'twenty', 'thirty', 'forty', 'fifty', 'sixty', 'seventy', 'eighty', 'ninety'] | |
teenagers = ['eleven', 'twelve', 'thirteen', 'fourteen', 'fifteen', 'sixteen', 'seventeen', 'eighteen', 'nineteen'] | |
# start 1000 | |
left = number | |
write = left/1000 | |
left = left - write*1000 | |
if write > 0 | |
thousands = englishNumber write | |
numString = numString + thousands + ' thousand' | |
if left > 0 | |
numString = numString + ' ' | |
end | |
end | |
# end 1000 | |
# start 100 | |
write = left/100 | |
left = left - write*100 | |
if write > 0 | |
hundreds = englishNumber write | |
numString = numString + hundreds + ' hundred' | |
if left > 0 | |
numString = numString + ' ' | |
end | |
end | |
# end 100 | |
# start 10 | |
write = left/10 | |
left = left - write*10 | |
if write > 0 | |
if ((write == 1) and (left > 0)) | |
numString = numString + teenagers[left-1] | |
left = 0 | |
else | |
numString = numString + tensPlace[write-1] | |
end | |
if left > 0 | |
numString = numString + '-' | |
end | |
end | |
# end 10 | |
# start 1 | |
write = left | |
left = 0 | |
if write > 0 | |
numString = numString + onesPlace[write-1] | |
end | |
# end 1 | |
numString | |
end | |
puts englishNumber( 0) | |
puts englishNumber( 10) | |
puts englishNumber( 11) | |
puts englishNumber(100) | |
puts englishNumber(101) | |
puts englishNumber(234) | |
puts englishNumber(1000) | |
puts englishNumber(3211) | |
puts englishNumber(5268) | |
puts englishNumber(1000000) | |
puts englishNumber(1001000) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#coding: utf-8 | |
def englishNumber number | |
if number < 0 | |
return '負でない数を入力してください.' | |
end | |
if number == 0 | |
return 'zero' | |
end | |
numString = '' | |
onesPlace = ['one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine'] | |
tensPlace = ['ten', 'twenty', 'thirty', 'forty', 'fifty', 'sixty', 'seventy', 'eighty', 'ninety'] | |
teenagers = ['eleven', 'twelve', 'thirteen', 'fourteen', 'fifteen', 'sixteen', 'seventeen', 'eighteen', 'nineteen'] | |
# 増やしたい任意の桁を大きい順に配列に入れる | |
numPlace = [1000000000000, 1000000000, 1000000, 1000, 100] | |
numPlaceWords = [' trillion', ' billion', ' million', ' thousand', ' hundred'] | |
# start over 100 | |
left = number | |
counter = 0 | |
length = numPlace.length - 1 | |
for counter in 0..length | |
write = left / numPlace[counter] | |
left = left - write * numPlace[counter] | |
if write > 0 | |
containner = englishNumber write | |
numString = numString + containner + numPlaceWords[counter] | |
if left > 0 | |
numString = numString + ' ' | |
end | |
end | |
end | |
# end over 100 | |
# start 10 | |
write = left/10 | |
left = left - write*10 | |
if write > 0 | |
if ((write == 1) and (left > 0)) | |
numString = numString + teenagers[left-1] | |
left = 0 | |
else | |
numString = numString + tensPlace[write-1] | |
end | |
if left > 0 | |
numString = numString + '-' | |
end | |
end | |
# end 10 | |
# start 1 | |
write = left | |
left = 0 | |
if write > 0 | |
numString = numString + onesPlace[write-1] | |
end | |
# end 1 | |
numString | |
end | |
puts englishNumber( 0) | |
puts englishNumber( 9) | |
puts englishNumber( 10) | |
puts englishNumber( 11) | |
puts englishNumber( 17) | |
puts englishNumber( 32) | |
puts englishNumber( 88) | |
puts englishNumber( 99) | |
puts englishNumber(100) | |
puts englishNumber(101) | |
puts englishNumber(234) | |
puts englishNumber(3211) | |
puts englishNumber(999999) | |
puts englishNumber(1000000000000) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#coding: utf-8 | |
def englishNumber number | |
if number < 0 | |
return '負でない数を入力してください.' | |
end | |
if number == 0 | |
return 'zero' | |
end | |
numString = '' | |
onesPlace = ['one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine'] | |
tensPlace = ['ten', 'twenty', 'thirty', 'forty', 'fifty', 'sixty', 'seventy', 'eighty', 'ninety'] | |
teenagers = ['eleven', 'twelve', 'thirteen', 'fourteen', 'fifteen', 'sixteen', 'seventeen', 'eighteen', 'nineteen'] | |
# 増やしたい任意の桁を大きい順に配列に入れる | |
numPlace = [1000000000000, 1000000000, 1000000, 1000, 100] | |
numPlaceWords = [' trillion', ' billion', ' million', ' thousand', ' hundred'] | |
# start over 100 | |
left = number | |
counter = 0 | |
length = numPlace.length - 1 | |
for counter in 0..length | |
write = left / numPlace[counter] | |
left = left - write * numPlace[counter] | |
if write > 0 | |
containner = englishNumber write | |
numString = numString + containner + numPlaceWords[counter] | |
if left > 0 | |
numString = numString + ' and ' | |
end | |
end | |
end | |
# end over 100 | |
# start 10 | |
write = left/10 | |
left = left - write*10 | |
if write > 0 | |
if ((write == 1) and (left > 0)) | |
numString = numString + teenagers[left-1] | |
left = 0 | |
else | |
numString = numString + tensPlace[write-1] | |
end | |
if left > 0 | |
numString = numString + ' and ' | |
end | |
end | |
# end 10 | |
# start 1 | |
write = left | |
left = 0 | |
if write > 0 | |
numString = numString + onesPlace[write-1] | |
end | |
# end 1 | |
numString | |
end | |
puts englishNumber( 0) | |
puts englishNumber( 9) | |
puts englishNumber( 10) | |
puts englishNumber( 11) | |
puts englishNumber( 17) | |
puts englishNumber( 32) | |
puts englishNumber( 88) | |
puts englishNumber( 99) | |
puts englishNumber(100) | |
puts englishNumber(101) | |
puts englishNumber(234) | |
puts englishNumber(3211) | |
puts englishNumber(999999) | |
puts englishNumber(1000000000000) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#coding: utf-8 | |
def englishNumber number | |
if number < 0 | |
return '負でない数を入力してください.' | |
end | |
if number == 0 | |
return 'zero' | |
end | |
numString = '' | |
onesPlace = ['one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine'] | |
tensPlace = ['ten', 'twenty', 'thirty', 'forty', 'fifty', 'sixty', 'seventy', 'eighty', 'ninety'] | |
teenagers = ['eleven', 'twelve', 'thirteen', 'fourteen', 'fifteen', 'sixteen', 'seventeen', 'eighteen', 'nineteen'] | |
# 増やしたい任意の桁を大きい順に配列に入れる | |
numPlace = [1000000000000, 1000000000, 1000000, 1000, 100] | |
numPlaceWords = [' trillion', ' billion', ' million', ' thousand', ' hundred'] | |
# start over 100 | |
left = number | |
counter = 0 | |
length = numPlace.length - 1 | |
for counter in 0..length | |
write = left / numPlace[counter] | |
left = left - write * numPlace[counter] | |
if write > 0 | |
containner = englishNumber write | |
numString = numString + containner + numPlaceWords[counter] | |
if left > 0 | |
numString = numString + ' ' | |
end | |
end | |
end | |
# end over 100 | |
# start 10 | |
write = left/10 | |
left = left - write*10 | |
if write > 0 | |
if ((write == 1) and (left > 0)) | |
numString = numString + teenagers[left-1] | |
left = 0 | |
else | |
numString = numString + tensPlace[write-1] | |
end | |
if left > 0 | |
numString = numString + '-' | |
end | |
end | |
# end 10 | |
# start 1 | |
write = left | |
left = 0 | |
if write > 0 | |
numString = numString + onesPlace[write-1] | |
end | |
# end 1 | |
numString | |
end | |
def beer beerNumber | |
num = englishNumber beerNumber | |
while beerNumber != 0 | |
puts num.to_s + " Bottles of beer on the wall" | |
puts num.to_s + " Bottles of beer" | |
puts "Take one down and pass it around" | |
beerNumber -= 1 | |
num = englishNumber beerNumber | |
puts num.to_s + " Bottles of beer on the wall" | |
puts | |
end | |
end | |
beer 1000 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# coding: utf-8 | |
require 'date' | |
myBD = Time.new(777, 07, 07, 07, 07, 07) + 1000000000 | |
puts myBD |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# coding : utf-8 | |
puts "生まれた年は?" | |
year = gets.chomp.to_i | |
puts "生まれた月は?" | |
month = gets.chomp.to_i | |
puts "生まれた日は?" | |
day = gets.chomp.to_i | |
bd = Time.mktime(year, month, day) | |
now = Time.now | |
old = (now - bd) / 31556926 # 一年の正確な秒数 | |
year += 1 | |
cnt = 0 | |
while cnt < old.to_i | |
puts year.to_s + "年" + month.to_s + "月" + day.to_s + "日 誕生日おめでとう!" | |
year += 1 | |
cnt += 1 | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# coding : utf-8 | |
class OrangeTree | |
def initialize | |
@height = rand(50) + 50 | |
@time = 0 | |
@oranges = 0 | |
end | |
def checkHeight | |
if @time != 0 | |
puts @time.to_s + "年経ちました。" | |
else | |
puts "木が生えました" | |
end | |
puts "現在、オレンジの木は" + @height.to_s + "cmです。" | |
end | |
def oneYearPasses | |
@time += 1 | |
@oranges = 0 | |
@height = @height + rand(100) + 50 | |
dead | |
end | |
def countTheOranges | |
if @time > 3 and @time < 5 | |
@oranges = rand(10) + 1 | |
puts @oranges.to_s + "個のオレンジが生っています。" | |
end | |
if @time > 5 and @time < 9 | |
@oranges = rand(10) + 5 | |
puts @oranges.to_s + "個のオレンジが生っています。" | |
end | |
if @time == 10 | |
@oranges = rand(10) + 10 | |
puts @oranges.to_s + "個のオレンジが生っています。" | |
end | |
end | |
def pichAnOrange | |
if @oranges != 0 | |
puts "オレンジを1つ摘みました。" | |
@oranges -= 1 | |
puts "とてもおいしゅうございました。" | |
end | |
if @oranges == 0 | |
puts "オレンジはないよ!" | |
end | |
end | |
private | |
def dead | |
if @time == 11 | |
puts "木は死んでしまいました。" | |
exit | |
end | |
end | |
end | |
orange = OrangeTree.new | |
orange.checkHeight | |
orange.oneYearPasses | |
orange.checkHeight | |
orange.countTheOranges | |
orange.pichAnOrange | |
orange.oneYearPasses | |
orange.checkHeight | |
orange.countTheOranges | |
orange.pichAnOrange | |
orange.oneYearPasses | |
orange.checkHeight | |
orange.countTheOranges | |
orange.pichAnOrange | |
orange.oneYearPasses | |
orange.checkHeight | |
orange.countTheOranges | |
orange.pichAnOrange | |
orange.oneYearPasses | |
orange.checkHeight | |
orange.countTheOranges | |
orange.pichAnOrange | |
orange.oneYearPasses | |
orange.checkHeight | |
orange.countTheOranges | |
orange.pichAnOrange | |
orange.oneYearPasses | |
orange.checkHeight | |
orange.countTheOranges | |
orange.pichAnOrange | |
orange.oneYearPasses | |
orange.checkHeight | |
orange.countTheOranges | |
orange.pichAnOrange | |
orange.oneYearPasses | |
orange.checkHeight | |
orange.countTheOranges | |
orange.pichAnOrange | |
orange.oneYearPasses | |
orange.checkHeight | |
orange.countTheOranges | |
orange.pichAnOrange | |
orange.oneYearPasses | |
orange.checkHeight | |
orange.countTheOranges | |
orange.pichAnOrange |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#coding : utf-8 | |
class Dragon | |
def talk | |
while @program != 0 | |
puts @name + " に対する指示を数字で入力してください。\n1:feed , 2:walk , 3:putToBed , 4:toss , 5:rock" | |
command = gets.chomp.to_i | |
if command == 1 | |
feed | |
elsif command == 2 | |
walk | |
elsif command == 3 | |
putToBed | |
elsif command == 4 | |
toss | |
elsif command == 5 | |
rock | |
end | |
end | |
end | |
def initialize name | |
@name = name | |
@asleep = false | |
@stuffInBelly = 10 | |
@stuffInIntestine = 0 | |
puts @name + ' は生まれました.' | |
@program = 1 | |
end | |
def feed | |
puts 'あなたは ' + @name + 'に食べ物を与えます.' | |
@stuffInBelly = 10 | |
passageOfTime | |
end | |
def walk | |
puts 'あなたは ' + @name + 'をトイレに連れて行きます.' | |
@stuffInIntestine = 0 | |
passageOfTime | |
end | |
def putToBed | |
puts 'あなたは ' + @name + ' を寝かしつけます.' | |
@asleep = true | |
3.times do | |
if @asleep | |
passageOfTime | |
end | |
if @asleep | |
puts @name + ' はいびきをかいて, 部屋中煙だらけ.' | |
end | |
end | |
if @asleep | |
@asleep = false | |
puts @name + ' はゆっくり目を覚ます.' | |
end | |
end | |
def toss | |
puts 'あなたは ' + @name + ' を空中に投げ上げます.' | |
puts '彼はキャハキャハ笑い, あなたの眉毛は焼け焦げた.' | |
passageOfTime | |
end | |
def rock | |
puts 'あなたは ' + @name + ' を優しく揺すります.' | |
@asleep = true | |
puts '彼は短くうとうと...' | |
passageOfTime | |
if @asleep | |
@asleep = false | |
puts '...でもやめるとすぐ起きちゃう.' | |
end | |
end | |
private | |
def hungry? | |
# メソッドの名前は"?"で終わることができます。 | |
# 通常、メソッドがtrueかfalseのどちらかを返すときだけ、 | |
# この名前を使います。このように: | |
@stuffInBelly <= 2 | |
end | |
def poopy? | |
#うんちが出そう? | |
@stuffInIntestine >= 8 | |
end | |
def passageOfTime | |
if @stuffInBelly > 0 | |
# 食べたものは、胃から腸へ移動 | |
@stuffInBelly = @stuffInBelly - 1 | |
@stuffInIntestine = @stuffInIntestine + 1 | |
else # 私たちのドラゴンは飢えました! | |
if @asleep | |
@asleep = false | |
puts '彼は突然跳び起きます!' | |
end | |
puts @name + ' は飢え死にしそう! 死に物狂いの彼は"あなた"を食べてしまいました!' | |
@program = 0 | |
exit # プログラムを終了します。 | |
end | |
if @stuffInIntestine >= 10 | |
@stuffInIntestine = 0 | |
puts 'おっと! ' + @name + ' はやっちゃったようです...' | |
end | |
if hungry? | |
if @asleep | |
@asleep = false | |
puts '彼は突然起きます!' | |
end | |
puts @name + 'のおなかはゴロゴロ言ってます...' | |
end | |
if poopy? | |
if @asleep | |
@asleep = false | |
puts '彼は突然起きます!' | |
end | |
puts @name + ' はうんちをしたくて踊っています...' | |
end | |
end | |
end | |
pet = Dragon.new 'Norbert' | |
pet.talk |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# coding : utf-8 | |
def gfClock &block | |
cnt = 0 | |
now = Time.now.hour | |
if now <= 12 | |
now += 1 | |
end | |
if now >= 13 | |
now -= 12 | |
end | |
while cnt != now # now回処理を繰り返す | |
block.call | |
cnt += 1 | |
end | |
end | |
gfClock do | |
puts 'DONG!' | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# coding : utf-8 | |
def log description, &block | |
puts '開始 "' + description.to_s + 'ブロック"...' | |
puts '..."' + description.to_s + 'ブロック"終了, 返り値は: ' + block.call.to_s | |
end | |
log '外' do | |
log 'ある小さな' do | |
5 | |
end | |
log 'もうひとつの' do | |
'I like Thai food!' | |
end | |
false | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# coding : utf-8 | |
def log description, &block | |
$nestingDepth = " " * $nestingDepth.to_i | |
puts $nestingDepth.to_s + '開始 "' + description.to_s + 'ブロック"...' | |
puts $nestingDepth.to_s + '..."' + description.to_s + 'ブロック"終了, 返り値は: ' + block.call.to_s | |
end | |
log '外' do | |
$nestingDepth = 1 | |
log 'ある小さな' do | |
$nestingDepth = 2 | |
log 'ちっちゃな' do | |
'lots of love' | |
end | |
42 | |
end | |
$nestingDepth = 1 | |
log 'もうひとつの' do | |
'I love Indian food!' | |
end | |
true | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment