Ruby のお勉強 - if -

公開日:2014-12-21 更新日:2019-05-13
[Ruby]

if

if true
  print "1"
  print "2"
end
##src|12 ##/e## then はつけなくても良い。付けても良い。


if false
  print "true"
else
  print "false"
end
##src|false ##/e## else は普通に使える。


if true then print "a" end
##src|a ##/e## 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
##src|true true true false false ##/e## nil と false 以外は、true として扱われる。


s = "test"
if s then print "true\n" end
s = ""
if s then print "true\n" end
##src|true true ##/e## 文字列の場合、空文字""でも 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"
オブジェクトの場合は値ではなく参照の比較となる。