전체 글99 Rust 기본, 옵션 열거형 (Option enum) Rust 기본 : 옵션 열거형 (Option enum) Rust에서 유효한 값을 반환하거나 아무 값도 반환하지 않으려면 Option enum을 사용할 수 있습니다.enum Option { None, Some(T),}Option enum에는 두 가지 변형이 있습니다. 하나는 일반적인 값을 포함하는 Some 변형이고, 다른 하나는 None 변형입니다.Option enum과 그 변형들은 std::prelude에 있습니다. std::prelude는 Rust가 모든 Rust 프로그램에 자동으로 가져오는 것들의 목록입니다.따라서 추가 코드 없이도 이들을 사용할 수 있습니다.std::preludehttps://doc.rust-lang.org/std/prelude/ std::prelude - Rust§The.. 2024. 8. 17. Rust 기본, 패턴 매칭 표현식 (Match expression) Rust 기본, 패턴 매칭 표현식 (Match expression) Rust match 표현식은 값의 패턴을 매칭하여 조건에 따라 코드를 실행하는 강력한 제어 흐름 구조입니다.이는 다른 프로그래밍 언어의 switch-case 구문과 비슷하지만,더 유연하고 강력한 기능을 제공합니다. 값을 일련의 패턴과 비교하여 어떤 코드 경로를 실행할지 결정할 수 있습니다.또한 값에 대한 모든 패턴을 제시해야합니다.부족할 경우 마지막에 모든 경우에 해당하는 '_' 패턴을 사용합니다.fn main() { let age = 5; // 매치 블록 내부에는 패턴과 일치할 경우 실행할 코드로 구성된 match arms가 나열된다. // 패턴은 리터럴 값, 변수 이름, 와일드 카드 등이 될 수 있습니다. .. 2024. 8. 13. Rust 기본, 열거형 (Enumerations) Rust 기본, 열거형 (Enumerations) 러스트에서 enum은 단순한 상수 집합 이상의 기능을 제공합니다.러스트의 enum은 각 변형(variant)이 데이터를 직접 포함할 수 있게 해주며 패턴 매칭 (match) 을 사용하여 이 데이터에 접근할 수 있습니다. 인스턴스 생성 시, 사용자는 이중 콜론('::') 문법을 사용하여 특정 변형을 명시적으로 선택하고, 필요한 데이터를 제공해야합니다.enum Message { Quit, Move { x: i32, y: i32 }, Write(String),}let msg = Message::Write(String::from("Hello")); // 인스턴스 생성 시, 필요한 데이터 제공.이 예에서 'Message::Write' 변형은 'St.. 2024. 8. 10. Rust 기본, 구조체 (Struct) Tuple structs Rust 기본, 구조체 (Struct) Tuple structs 튜플(Tuple)과 튜플 구조체(Tuple structs) - 튜플 : 여러 타입을 하나의 데이터로 묶어 준다. 단, 튜플은 타입을 정의하지 않는다. - 튜플 구조체 : 데이터 타입이나 인자 개수 체크가 가능한 하나의 데이터 타입으로 묶어준다.fn main() { // 튜플(tuple) // 이 함수 저 함수 사이를 이동하다 보면 변수 이름이 바뀌면서, // 튜플 데이터가 어떤 의미였는지 알기 어려워진다. let rgb_color = (255, 106, 0); let cmyk_color = (0, 58, 100, 0); // 튜플 구조체(tuple structs) // 타입이나 인자 개수 체크 가능. .. 2024. 8. 6. Rust 기본, 구조체 (Struct) Implementation blocks Rust 기본 : 구조체 (Struct) Implementation blocks 구현 블록 (Implementation blocks)구현 블록은 주어진 유형에 대한 기능을 구현합니다.주어진 유형에는 struct, enum, trait 이렇게 세가지가 있습니다. 그리고 주어진 유형에 대해, - 메서드(method) : 인스턴스 함수. - 연관 함수(associated function) : 인스턴스 없이 호출, C++의 정적 메서드 역할. - 특성 구현(trait implementation) : 특성(trait)을 통해 정의된 인터페이스를 실제 타입에서 구현. 여기서는 구조체에 대한 메서드와 연관 함수에 구현을 설명합니다. 메소드(method) - 첫번째 함수 인자를 self, &self, &mut sel.. 2024. 8. 1. 명상 가이드, 7개의 차크라를 여는 방법. 아앙. "먼저, 척추의 기저에 위치한 지구 차크라를 열겠습니다.이 차크라는 생존과 관련이 있으며 두려움에 의해 차단됩니다." "당신은 생존에 대해 걱정하고 있지만, 그 두려움을 내려놓아야 합니다. 두려움이 개울을 따라 흘러가도록 하십시오. 이제 당신의 지구 차크라가 열렸습니다.""이번 차크라는 즐거움과 관련이 있으며 죄책감에 의해 차단됩니다. 이제 당신을 짓누르는 모든 죄책감을 바라보십시오. 무엇 때문에 자신을 탓하고 있습니까?" "이런 일들이 일어났다는 현실을 받아들이되, 그것들이 당신의 에너지를 흐리게 하고 독살하지 않도록 하십시오. 세상에 긍정적인 영향을 미치려면, 자신을 용서해야 합니다.""세 번째는 위장에 위치한 불의 차크라입니다." "이 차크라는 의지와 관련이 있으며, 수치심에 의해 차단됩니다. 무엇.. 2024. 7. 29. Rust 기본, 구조체 (Struct) Rust 기본 : 구조체 (Struct)구조체는 관련 데이터를 그룹화 할 수 있게 해줍니다. 구조체 정의struct User { name: String, age: u8}fn struct_definition() { let user = User { name: String::from("Tom Riddle"), age: 17u8, }; println!("User's name: {}", user.name); println!("User's age: {}", user.age);} 구조체 수정struct ShopItem { name: String, quantity: u32, in_stock: bool,}fn mutation_structs(.. 2024. 7. 24. 로도스도전기 탐구: 레이리아에 빙의된 카라 AI와의 인터뷰 "파괴와 재생""너는 바로 진짜 적" "판, 나는 이 세계의 균형을 지키기 위해 존재한다. 로도스는 선과 악, 질서와 혼돈이 끊임없이 싸우는 장소다. 어느 한쪽이 완전히 승리하면, 이 섬은 멸망의 길로 들어설 것이다." "하지만, 당신은 사람들의 삶을 조종하고 있어. 그것이 옳은 일이라고 생각하는가?" 카라: "나는 단순히 이 섬의 파멸을 막으려는 것뿐이다. 나는 영원히 살아갈 수 있지만, 이 섬은 그렇지 않다. 나의 행동은 필연적인 것이다. 내가 원하는 것은 절대적인 승리가 아닌, 영원한 균형이다." 판: "그러나, 당신의 방식은 너무나도 냉혹하다. 사람들은 자신의 의지로 싸우고 살아가야 한다고 생각하지 않는가?" 카라: "그렇다. 그러나 나는 그들의 의지와 관계없이 이 섬을 지켜야 한다. 만약 내가 .. 2024. 7. 21. Rust 기본, to_string() vs to_owned() Rust 기본 : to_string() vs to_owned() .to_string() - .to_string() 메서드는 ToString 트레이트의 일부입니다. - 이 메서드는 보통 Display 트레이트를 구현한 모든 타입에 대해 사용할 수 있습니다. Display 트레이트는 주로 사람이 읽을 수 있는 형태로 객체를 문자열로 변환할 때 사용됩니다. ToString 트레이트는 fmt::Display 트레이트를 구현하는 모든 타입에 자동으로 구현됩니다.fmt::Display 트레이트를 구현하면 표준 라이브러리에서 아래 코드가 작동하게 된다.T가 fmt:: Display 트레이트면 ToString 트레이트도 동작한다.trait ToString { fn to_string(&self) -> Stri.. 2024. 7. 20. 이전 1 2 3 4 5 6 7 ··· 11 다음