day 1 (240427)

This commit is contained in:
osmannyildiz 2024-04-27 17:41:39 +03:00
commit e10cc55479
4 changed files with 208 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/target

7
Cargo.lock generated Normal file
View File

@ -0,0 +1,7 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 3
[[package]]
name = "icphub"
version = "0.1.0"

8
Cargo.toml Normal file
View File

@ -0,0 +1,8 @@
[package]
name = "icphub"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]

192
src/main.rs Normal file
View File

@ -0,0 +1,192 @@
fn main() {
let i8_var_i8: u128 = 123;
println!("Hello, {}!", i8_var_i8);
let u32_var: u32 = 23;
let u64_var: u64 = 23;
// let result = u32_var + u64_var;
// let result = u64_var + u32_var;
// let result = (u32_var + u64_var) as u128;
// let result = (u64_var + u32_var) as u128;
// let result: u64 = u32_var + u64_var;
let result = u32_var as u64 + u64_var;
println!("{2}, {1}, {0}, {2}!", 12, 34, '🦀');
let foo = -3.1415;
println!("0.1 + 0.2 = {}", 0.1 + 0.2);
// 0.1 + 0.2 = 0.30000000000000004
let mut char_var = 'a';
// char_var += 2;
let one = [1, 2, 3];
let two = [2; 3];
// let three: [u32; 6] = [2; 3];
// println!("{}, {}, {}", one, two, three);
// println!("{}, {}", one, two);
println!("{:?}, {:?}", one, two);
let tuple = (2, 3.7, 'd');
let string_slice = "ICP Hub";
let string = String::new();
let string2 = String::from("Türkiye Rust Community");
println!("{}", string2);
// Vectors: pointers, capacity, length
let vec_arr = vec![1, 2, 3, 4];
// println!("{}", vec_arr);
println!("{:?}", vec_arr);
#[derive(Debug)]
struct StructName {
field1: i32,
field2: f64,
}
let struct_var = StructName {
field1: 1,
field2: 5.757,
};
// println!("{}", struct_var);
println!("{:?}", struct_var);
// #[derive(Debug)]
// struct Student {
// // name: &str,
// name: String,
// surname: String,
// department: String,
// score: u32,
// }
// let mut student1 = Student {
// name: "Osman Nuri".to_string(),
// surname: String::from("Yıldız"),
// department: "Computer Engineering".to_string(),
// score: 100,
// };
// student1.department = "Rustacean".to_string();
// println!("{:?}", student1);
enum EnumName {
Variant1,
Variant2(StructName),
Variant3(u32),
Variant4((i32, f64, char)),
Variant5(),
}
#[derive(Debug, PartialEq)]
enum Department {
ComputerEngineering(Vec<String>),
ElectricalEngineering((u16, String)),
MachineEngineering((u16, String)),
Science,
Education,
Social,
}
#[derive(Debug)]
struct Student {
name: String,
surname: String,
department: Department,
score: u32,
}
let mut student2 = Student {
name: "Osman Nuri".to_string(),
surname: String::from("Yıldız"),
department: Department::ComputerEngineering(vec!["Rust".to_string()]),
score: 100,
};
student2.department = Department::ElectricalEngineering((10, "Rust".to_string()));
println!("{:?}", student2);
// if student2.department == Department::ComputerEngineering(vec!["ICP".to_string()]) {
if student2.department
== Department::ComputerEngineering(vec!["ICP".to_string(), "Rust".to_string()])
{
println!("True!")
} else {
println!("False!")
}
loop {
println!("loop");
break;
}
let mut i = 0;
while i < 3 {
println!("while loop: {}", i);
i += 1;
}
// for j in 1..5 {
// for j in 1..=5 {
for j in (1..=5).step_by(2) {
println!("for loop: {}", j)
}
match student2.department {
// Department::ComputerEngineering(_) => todo!(),
Department::ComputerEngineering(lessons) => {
println!("Alınan dersler: {:?}", lessons)
}
// Department::ElectricalEngineering(_) => todo!(),
// Department::MachineEngineering(_) => todo!(),
// Department::Science => todo!(),
// Department::Education => todo!(),
// Department::Social => todo!(),
_ => {
println!("Daha sonra dene")
}
}
#[derive(Debug)]
enum MembershipType {
Economy,
Business,
VIP,
}
#[derive(Debug)]
struct Member {
name: String,
surname: String,
membership_type: MembershipType,
}
#[derive(Debug)]
struct Library {
name: String,
members: Vec<Member>,
}
let lib = Library {
name: "Mamak Halk Kütüphanesi".to_string(),
members: vec![
Member {
name: "Veli".to_string(),
surname: "Uysal".to_string(),
membership_type: MembershipType::VIP,
},
Member {
name: "Mehmet".to_string(),
surname: "Hayırlı".to_string(),
membership_type: MembershipType::Business,
},
],
};
println!("{:#?}", lib);
let mut return_var = function_print("Naber la");
return_var.push_str(" geldin mi?");
println!("{}", return_var);
}
fn function_print(s: &str) -> String {
println!("Gelen ifade: {}", s);
// return String::from(s);
String::from(s)
}
// Tomorrow: trait, thread, canister