본문 바로가기

Study56

[Rust] Ownership(소유권) 기초 예제 : i32 (32일차) [예제 코드_1] fn main() { let age: i32 = 25; do_something(age); } fn do_something(age: i32) { println!("Hello, {}", age); } [실행 결과] Hello, 25! [예제 코드_2] fn main() { let age: i32 = 25; do_something(age); println!("{}", age); } fn do_something(age: i32) { println!("Hello, {}", age); } [실행 결과] Hello, 25! 25 [예제 코드_3] fn main() { let age: i32 = 25; do_something(&age); println!("{}", age); } fn do_someth.. 2023. 1. 14.
[Rust] Ownership(소유권) 기초 예제 : String (31일차) [예제 코드_1] fn main() { let name = String::from("Rust"); do_something(name); } fn do_something(name: String) { println!("Hello, {}", name) } [출력 결과] Hello, Rust! [예제 코드_2] fn main() { let name = String::from("Rust"); do_something(name); println!("{}", name); } fn do_something(name: String) { println!("Hello, {}", name); } [출력 결과] error[E0382]: borrow of moved value: `name` --> src/main.rs:4:20 [예제.. 2023. 1. 13.
[Rust] Iterator 예제 (30일차) fn main() { let v1 = vec![1, 2, 3]; let v1_iter = v1.iter(); for val in v1_iter { println!("got: {}", val); } } #![allow(unused)] fn main() { #[test] fn iterator_demonstration() { let v1 = vec![1, 2, 3]; let mut v1_iter = v1.iter(); assert_eq!(v1_iter.next(), Some(&1)); assert_eq!(v1_iter.next(), Some(&2)); assert_eq!(v1_iter.next(), Some(&3)); assert_eq!(v1_iter.next(), None); } } #[test] fn it.. 2023. 1. 12.
[Rust] Command Line Program 제작 : 환경변수 활용 (29일차) // 지난 lib.rs 코드를 이어서 수정. 아래 명령어를 입력해보자 // $cargo run to poem.txt // $CASE_INSENSITIVE=1 cargo run to poem.txt use std::error::Error; use std::fs::File; use std::io::prelude::*; use std::env; pub struct Config { pub query: String, pub filename: String, pub case_sensitive: bool, } impl Config { pub fn new(args: &[String]) -> Result(query: &str, contents: &'a str) -> Vec(query: &str, contents: &'a .. 2023. 1. 11.