9.便利な処理
1.乱数
乱数とは、ランダムな数ということです。
この乱数を使うことで確率の処理を行ったり、毎回違った数値を受け取る事が出来ます。

求め方は、下記のとおりです。
rand(3) # 0から2の範囲で値を返す
気をつけることは、0から3ではないということです。
ここでの3というのは、3つの数値ということです。
0、1、2の3つですね。

では、2〜5の値が欲しい時には、どのようにすればよいのでしょう?
このような場合は始まりの数値、今回は2を足せばいいのです。
rand(4) + 2
0〜3の数値に2を加えれば、2〜5という数値になりますよね?
◆ 今回のポイント
 ・rand(max) は、0≦x<max の範囲の値を返す。
2.範囲オブジェクト
範囲オブジェクトというのは、1〜3などの範囲をあらわすものです。
0...3 # 0〜2
3..5  # 3〜5
上記のように、「...」「..」で表します。
A...B が、A以上B未満の範囲。
A..B が、A以上B以下の範囲を表します。

例として、ある変数の値が範囲内であるかを調べてみます。
var = 3
p (0...3) === var # false
範囲オブジェクト === 比較する数値というように使用します。

範囲オブジェクトは下記のようにすると簡単に配列化することができます。
p Array(0...3)  # => [0, 1, 2]
p (3..5).to_a   # => [3, 4, 5]
for文なんかで使ったりとか?
# 2〜6、10、12〜15のイベント変数の値を0にする。
for i in Array(2..6) + [10] + Array(12..15)
  $game_variables[i] = 0
end
◆ 今回のポイント
 ・範囲オブジェクトを使用した比較は、=== を使用する。
 ・範囲オブジェクトは左側でなければならない。
 ・範囲オブジェクトは Array や to_a を使用して配列化できる。
3.真偽値の反転
bool = true
p bool = !bool  # => false
p bool ^= true  # => true
えっと、後者の方の説明は難しくなっちゃうと思うので省かせていただきます。
前者は見れば分かりますね。
bool ではない。って否定してますので、trueの反対はfalseということになります。
前者は、変数名が長いとその分長くなってしまうので、後者をオススメします。

どうしても後者の処理が理解したい場合は、「排他的論理和」などで検索すれば説明が出るかもです。
4.○桁な数値を表現
012 などの文字列を作ります。
p sprintf("%03d", 12) # => "012"
簡単に説明しちゃうと、
% 書式設定の宣言
0 桁数が足りない場合は、0で補う
3 3桁(3文字)
d 数値
って感じです。
3の部分を6に変えれば、"000012"になりますし、
0を削除すると、" 12"になります。
文字列フォーマットについては、こちらで説明してます。
5.最大値と最小値
# 最大値を取得
p [0, 3].max      # => 3
# 最小値を取得
p [5, 8, 21].min  # => 5
# 指定範囲の値で取得
var = 56
p [1, [var, 100].min].max # => 56
# 1〜100の範囲で数値を取得した場合はこのようにします。
# 1以上100以下ですね。
6.変数の初期化
# 変数が偽か未定義のときにだけ代入を行います。
var ||= 123
p var   # => 123
var ||= 456
p var   # => 123