数値型変換

1+"2"という演算は3にはならずに例外を返す

1 + "2".to_i

↑これは3を返す

↓整数と浮動小数点間で型を変換するためにはこんなメソッド

p 7.to_f / 2
p 7.0.to_i / 2

なるほど

あと"<=>"こんな演算子があるらしい
↓こんな感じで書いてみると

class Hoge
  def initialize(value)
    @val = value
  end
  attr_accessor :val
end

a = Hoge.new(100)
b = Hoge.new(200)
c = Hoge.new(300)
d = Hoge.new(400)
e = Hoge.new(500)
f = Hoge.new(600)
g = Hoge.new(700)
h = Hoge.new(800)
i = Hoge.new(900)
j = Hoge.new(1000)

array = [j,i,h,g,f,e,d,c,b,a]
array.sort{|x,y| x.val <=> y.val}

x.valの結果とy.valの結果を<=>で比較してソートしてくれたみたい 

ここで以下のようにブロック引数無しで

array.sort

ってやってもエラーになる。この場合は a<=>b というふうにオブジェクトそのもの同士の比較が行われてしまい比較ができないということだと思う