Slide 28
Slide 28 text
arr1 = [ "d", "a", "e", "c", "b" ]
p arr1.sort => ["a", "b", "c", "d", "e"]
arr2 = [9, 7, 10, 11, 8]
p arr2.sort => [7, 8, 9, 10, 11]
arr3 = ["9", "7", "10", "11", "8"]
p arr3.sort => ["10", "11", "7", "8", "9"]
Q. 配列のソート
❖ 内部的には <=> 演算子で各要素を比較している
❖ 数値の場合は見たまんまの並び替えが起こる
❖ 文字列の場合はバイト列比較なので見た目に反し
た挙動になる
➢ バイト列に変換し、その数値を先頭から比
較していく
p "10".bytes => [49, 48]
p "9".bytes => [57]
p "hoge" if "10" < "9" => "hoge" # 49 < 57 なので