よしかわーるど

プログラミングで世界を変える

2018-09-07

Rubyを学ぶ 2日目

Ruby を学ぶ 2 日目

前回の記事

Ruby を学ぶ 1 日目

文字列の比較

'ruby' == 'ruby' #=> true
'ruby' == 'Ruby' #=> false
'ruby' != 'false' #=> true
'ruby' != 'ruby' #=> false

<, <=, >, >=を使って大小関係を比較することが出来る。

'a' < 'b' #=> true
'a' < 'A' #=> false
'a' > 'A' #=> true
'abc' > 'def' #=> true
'abc' < 'ab' #=> false
'abc' < 'abcd' #=> true
'あいうえお' < 'かきくけこ' #=> true

数値

# 正の整数
10
# 小数
1.5
# 負の整数
-3
# 負の小数
-4.75

数値には_を含めることが出来ます。_は無視されるので、大きな数の区切り文字として使うと便利。

1_000_000_000 #=> 1000000000
10 + 20 #=> 30
100 - 25 #=> 75
12 * 5 #=> 60
20 / 5 #=> 4

変数の手間に-を付けると、数値の正と負を反転できます。

n = 1
-n #=> -1

整数同士の割り算は整数になる点に注意してください。小数点以下は切り捨てられます。

1 / 2 #=> 0

小数点以下の値が必要な場合は。どちらかの値に小数点の.0 を付けます。

1.0 / 2 #=> 0.5
1 / 2.0 #=> 0.5

変数に整数が入っている場合は、to_fメソッドを呼ぶことで整数から小数に変更することができます。

n = 1
n.to_f     #=> 1.0
n.to_f / 2 #=> 0.5

%は割り算の余りを求める演算子です。

8 % 3 #=> 2

**はべき乗を求める演算子です。

2 ** 3 #=> 8

変数に格納された数値の増減

n = 1

# ++は構文として無効
# n++

# nを1増やす
n += 1

# nを1減らす
n -= 1

同様に*=, /=, **=も使える。

真偽値

# trueそのもの
true

# すべての数値
1
0
-1

# すべての文字列
'true'
'false'
''

nil も偽になる。実際のプログラミングではオブジェクトが nil かどうかで条件分岐させる機会が多いので、意外と便利。

データがあればそのデータを、データがなければ nil を返す find_data という架空のメソッドがあったとします。 データのある/なしで処理を変えたい場合、素直に nil かどうかをチェックすると次のようなコードになる。

data = find_data
if data != nil
  'データがあります'
else
  'データはありません'
end

Ruby の場合、false と nil 以外はすべて真なので、次のようなシンプルに書けます。

data = find_data
if data != nil
  'データがあります'
else
  'データはありません'
end

次回の記事

Ruby を学ぶ 3 日目