rust_demos 0.1.0

Aa demo crate
Documentation

	struct ArithProg{
		a:u16,
		d:u16,
		n:u16
	}

	impl ArithProg{
		fn new(a:u16,d:u16,n:u16)->Self{
			Self{a,d,n}
		}
	
	fn display(&self)->String{
		format!("Arithmetic Progression : {{a:{},d:{},n:{}}}",self.a,self.d,self.n)
	}
	}
	impl Iterator for ArithProg{
		type Item=u16;
		fn next(&mut self)->Option<Self::Item>{
			let nth_term=self.a+(self.n-1)*self.d;
			self.n+=1;
			Some(nth_term)
		}
	}
fn main(){
	let mut series1=ArithProg::new(5,4,7);
	assert_eq!(series1.next(),Some(29));
	println!("{}",series1.display());
	let mut series2=ArithProg::new(4,3,1);
	println!("\nThe given series with first term as 4 and common difference as 3:");
	println!("{:?}",series2.next());
	println!("{:?}",series2.next());

	for i in ArithProg::new(4,3,1).take(3){
		println!("{} ",i)
	}
	print!("\nSkipping the first two terms and iterating through the next 3 terms:\n");
	for i in ArithProg::new(4,3,1).skip(2).take(3){
		println!("{} ",i)
	}
}