Ruby のお勉強 - if -

公開日:2014-12-21

if

ソース
if true
  print "1"
  print "2"
end
実行結果
12
then はつけなくても良い。付けても良い。


ソース
if false
  print "true"
else
  print "false"
end
実行結果
false
else は普通に使える。


ソース
if true then print "a" end
実行結果
a
then を使えば、1行で書くことが出来る。then を抜くとコンパイルエラー。


ソース
if -1    then print "true\n" end 
if  0    then print "true\n" end
if  1    then print "true\n" end
if nil   then else print "false\n" end
if false then else print "false\n" end
実行結果
true
true
true
false
false
nil と false 以外は、true として扱われる。


ソース
s = "test"
if s then print "true\n" end
s = ""
if s then print "true\n" end
実行結果
true
true
文字列の場合、空文字""でも true として扱われる。


ソース
a = 5
a = a + 1 if a == 5
p a
実行結果
6
英語と同じ書き方をできる。
もし a == 5 なら、a = a + 1 を実行。


ソース
array1 = ["a", "b", "c"]
array2 = ["a", "b", "c"]
if array1 == array2 then p "OK" end
array2.push("d")
if array1 == array2 then p "OK" end
実行結果
"OK"
配列は中の値が全て同じの時に true となる。


ソース
class TestClass
end

obj1 = TestClass.new
obj2 = TestClass.new
if obj1 != obj2 then p "NG" end
実行結果
"NG"
オブジェクトの場合は値ではなく参照の比較となる。