Hone logo
Hone
Problems

Struct Methods in Rust: The Rectangle Area Calculator

This challenge focuses on implementing methods within a Rust struct. You'll define a Rectangle struct and then implement methods to calculate its area and check if it's a square. This exercise reinforces understanding of Rust's struct definition and method syntax, crucial for object-oriented programming in Rust.

Problem Description

You are tasked with creating a Rectangle struct in Rust and implementing two methods: area() and is_square(). The Rectangle struct should have two fields: width and height, both of type u32.

  • area() method: This method should take no arguments and return the area of the rectangle (width * height) as a u32.
  • is_square() method: This method should take no arguments and return true if the rectangle is a square (width equals height), and false otherwise.

The methods should be defined using the impl block associated with the Rectangle struct. Ensure your code compiles and produces the correct results for various rectangle dimensions.

Examples

Example 1:

Input: Rectangle { width: 10, height: 5 }
Output: area() -> 50, is_square() -> false
Explanation: The area is 10 * 5 = 50. The width and height are not equal, so it's not a square.

Example 2:

Input: Rectangle { width: 7, height: 7 }
Output: area() -> 49, is_square() -> true
Explanation: The area is 7 * 7 = 49. The width and height are equal, so it's a square.

Example 3:

Input: Rectangle { width: 0, height: 15 }
Output: area() -> 0, is_square() -> false
Explanation: The area is 0 * 15 = 0. The width and height are not equal, so it's not a square.

Constraints

  • width and height will always be non-negative u32 values.
  • The area() method must return a u32.
  • The is_square() method must return a bool.
  • Your solution must compile without warnings.

Notes

  • Remember to use the impl block to define methods for your struct.
  • Consider how to access the struct's fields within the methods (using self).
  • Think about the logic required to determine if a rectangle is a square.
  • Rust's type system will help you ensure the correctness of your calculations. Pay attention to the return types of your methods.
Loading editor...
rust