Ruby復習2【W:67.8kg】

=begin
Ruby学習
=end


################################################################################
# 変数
#ローカル変数
num = 10 #先頭がアルファベットで始まるもの
_num = 100 #先頭が_で始まるもの
puts num
puts _num

#グローバル変数
$count = 0 #先頭が$で始まるもの
$count = $count + 1
puts $count

#インスタンス変数
#先頭が@で始まるもの
#TODO

#クラス変数
#先頭が@@で始まるもの
#TODO


################################################################################
# 定数
TEST_NAME = "TEST1" #先頭が大文字のアルファベットで始まるもの

################################################################################
# 条件判断 真:false/nil以外の全てのオブジェクト - 偽:false/nil
# if文 条件が成立した場合実行
a = 10
b = 20

if b > a then
puts "aよりbは大きい"
elsif b == a then
puts "aとbは同じ"
else
puts "aよりbは小さい"
end

################################################################################
# unless文 ifの逆、条件が成立しない場合実行
unless true then
puts "unless条件OK"
else
puts "unless条件NG"
end

################################################################################
#case文 string
tags = ["A","IMG","PRE"]
tags.each{|tagname|
case tagname
when "A" then puts "tagname is A"
when "IMG" then puts "tagname is IMG"
when "PRE" then puts "tagname is PRE"
else puts "tagname is something"
end
}


#case文 object
array = ["a",1,nil]
array.each{|item|
case item
when String then puts "itesm is String"
when Numeric then puts "itesm is Numeric"
else puts "item is something"
end
}

################################################################################
# 繰り返し

# timesメソッド
#times〜do〜end
i = 0
5.times do
i = i + 1
end
puts i

#times{〜}
i = 0
10.times{
i = i + 1
}
puts i

#timesメソッド内の繰り返し回数を確認
i = 0
10.times{|count|
puts count
}

################################################################################
# for文
for i in 1..10 do #doは省略可
puts i
end

# for文 配列
array=["a","b","c"]
for item in array
puts item
end


################################################################################
# while文
count = 0
while count < 10 do
count += 1
puts count
end

################################################################################
# until文
count = 10
until count <= 5 do
count -= 1
puts count
end


################################################################################
# each文 each〜do〜end
array = ["aa","bb","cc"]
array.each do |item|
puts item
end

# each文 each{〜}
array = ["aa","bb","cc"]
array.each {|item|
puts item
}

################################################################################
# loop文
i = 0
loop{
print "Ruby!"
if i > 10 then
break;
end
i += 1
}

################################################################################
# 繰り返し制御
#break :繰り返しから抜ける
#next :次の回の繰り返し処理に移す
#redo :同じ条件で繰り返しをやり直す


#########################################################################################
# メソッド

#インスタンスメソッド
"aaa,bbb,ccc".split(",")

#クラスメソッド
Time.now()

#関数的メソッド
puts "Hello!"

################################################################################
# メソッド定義

#定義
def HelloWorld(message="Ryu")
puts "HelloWorld!! -> " + message
end

#呼び出し
HelloWorld("Ken")

#呼び出し(デフォルト値使用)、デフォルト値は右端から順に設定
HelloWorld()

#返り値
def valume (x, y, z)
return x*y*z
end

puts valume(1, 2, 3)


#返り値、nil
def NilReturn()
return
end

puts NilReturn()
#######################################################################
#メソッド