Data Types
Numbers
Ruby numbers support integer and decimal arithmetic.
numeric expression
Ruby evaluates arithmetic expressions before assigning the result to a variable.
Numbers
numbers.rb
Replay: real traced execution (multi-file project)
radius = 5
pi = 3.14
diameter = radius * 2
area = (pi * radius * radius).round(2)
puts "diameter=#{diameter}"
puts "area=#{area}"
radius = 3
pi = 3.14
diameter = radius * 2
area = (pi * radius * radius).round(2)
puts "diameter=#{diameter}"
puts "area=#{area}"
radius = 10
pi = 3.14
diameter = radius * 2
area = (pi * radius * radius).round(2)
puts "diameter=#{diameter}"
puts "area=#{area}"
radius ← 5, pi ← 3.14, diameter ← 10, area ← 78.5
1radius→ 5 = 5 #@radius=3, 102pi→ 3.14 = 3.143diameter→ 10 = radius5 * 24area→ 78.5 = (pi3.14 * radius5 * radius).round(2)56puts "diameter=#{diameter10}"7puts "area=#{area78.5}"outputdiameter=10 area=78.5
radius ← 3, pi ← 3.14, diameter ← 6, area ← 28.26
1radius→ 3 = 32pi→ 3.14 = 3.143diameter→ 6 = radius3 * 24area→ 28.26 = (pi3.14 * radius3 * radius).round(2)56puts "diameter=#{diameter6}"7puts "area=#{area28.26}"outputdiameter=6 area=28.26
radius ← 10, pi ← 3.14, diameter ← 20, area ← 314.0
1radius→ 10 = 102pi→ 3.14 = 3.143diameter→ 20 = radius10 * 24area→ 314.0 = (pi3.14 * radius10 * radius).round(2)56puts "diameter=#{diameter20}"7puts "area=#{area314.0}"outputdiameter=20 area=314.0
Follow the Numbers
radiusstarts at5.piis3.14.diameter = radius * 2becomes10.area = (pi * radius * radius).round(2)becomes78.5.- The program prints
diameter=10andarea=78.5. | radius | diameter | area | | --- | --- | --- | | 3 | 6 | 28.26 | | 5 | 10 | 78.5 | | 10 | 20 | 314.0 |
Exercise: numbers.rb
Reproduce diameter=10 and area=78.5, then use the pinned radii 3 and 10 to predict each diameter and area.