setget/user.rs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
/// The `User` struct represents a user with a name and age.
///
/// # Example
///
/// ```
/// use my_crate::user::User;
///
/// let user = User::new("Bob".to_string(), 25);
/// user.print();
/// assert_eq!(user.get_name().0, "Bob");
/// ```
#[derive(Clone, Debug)]
pub struct User {
name: String,
age: usize,
}
impl User {
/// Creates a new `User` instance.
///
/// # Arguments
///
/// * `name` - A string slice representing the user's name.
/// * `age` - A usize representing the user's age.
///
/// # Example
///
/// ```
/// let user = User::new("Alice".to_string(), 30);
/// ```
pub fn new(name: String, age: usize) -> Self {
Self { name, age }
}
/// Prints the user's name and age.
///
/// # Example
///
/// ```
/// let user = User::new("Alice".to_string(), 30);
/// user.print();
/// ```
pub fn print(&self) {
println!("Name is: {} \n Age is: {}", self.name, self.age);
}
/// Returns the user's name and age as a tuple.
///
/// # Returns
///
/// A tuple containing the user's name and age.
///
/// # Example
///
/// ```
/// let user = User::new("Alice".to_string(), 30);
/// let (name, age) = user.get_name();
/// assert_eq!(name, "Alice");
/// assert_eq!(age, 30);
/// ```
pub fn get_name(&self) -> (String, usize) {
return (self.name.to_string(), self.age);
}
}