Instructions
Ruby 3.0+ introduced endless method definitions for simple one-liner methods.
Instead of:
ruby
def double(x)
x * 2
end
You can write:
ruby
def double(x) = x * 2
Create a module MathHelpers with these endless methods:
1. square(n) - returns n squared
2. cube(n) - returns n cubed
3. average(a, b) - returns average of two numbers
Hints:
- def method(args) = expression
- No 'end' keyword needed
- Perfect for simple one-liner methods
Your Code
module MathHelpers def self.square(n) = n * n def self.cube(n) = n * n * n def self.average(a, b) = (a + b) / 2.0 end
RSpec.describe MathHelpers do
describe ".square" do
it "returns n squared" do
expect(MathHelpers.square(4)).to eq(16)
expect(MathHelpers.square(-3)).to eq(9)
end
end
describe ".cube" do
it "returns n cubed" do
expect(MathHelpers.cube(2)).to eq(8)
expect(MathHelpers.cube(3)).to eq(27)
end
end
describe ".average" do
it "returns average of two numbers" do
expect(MathHelpers.average(10, 20)).to eq(15.0)
expect(MathHelpers.average(1, 2)).to eq(1.5)
end
end
end
Results
Click "Run Tests" to see results