day 1 (240427)
This commit is contained in:
commit
e10cc55479
|
|
@ -0,0 +1 @@
|
||||||
|
/target
|
||||||
|
|
@ -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"
|
||||||
|
|
@ -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]
|
||||||
|
|
@ -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
|
||||||
Loading…
Reference in New Issue