Slides

Numbers

Ref. WGR Chapter 8, Section 8.3, Numerical objects

Numerical Operations

+ - * / %

etc.

Floats vs. Integers (Fixnums)

floating point literals

conversion only happens when it needs to

>> 2/3 == 0
=> true

>> 2.0/3 == 0.6666666666666666
=> true

>> 2.0/3 == 0.666666666666666
=> false

>> 2.0/3 == 0.6666666666666667
=> false

>> 2.to_f/3
=> 0.6666666666666666

IEEE Rounding Error Is Awesome

>> 0.5 - 0.4 - 0.1
=> -2.7755575615628914e-17

>> (0.8 - 0.7 - 0.1)/(0.5 - 0.4 - 0.1)
=> -3.0