본문 바로가기

whole view373

Rust match match는 Rust에서 패턴 매칭을 수행하는 키워드입니다. 다른 언어에서는 switch와 유사한 기능을 수행합니다. 다른 언어의 switch문과 비교하여 Rust의 match문의 가장 큰 차이점은 각 분기(branch)마다 변수나 값에 대한 패턴을 지정할 수 있다는 것입니다. 이것은 Rust에서 매우 강력한 기능으로 여겨집니다. 다음은 Rust에서 match를 사용한 예제 코드입니다. let number = 5; match number { 0 => println!("Number is zero"), 1 => println!("Number is one"), 2..=10 => println!("Number is between two and ten"), _ => println!("Number is someth.. 2023. 3. 16.
Rust 매크로 macro_rules! Rust의 macro_rules! 매크로는 코드를 생성하는 Rust 코드의 일부입니다. 이 매크로를 사용하면 사용자 지정 매크로를 작성하여 Rust 코드의 작성과 유지 관리를 단순화할 수 있습니다. macro_rules! 매크로는 Rust 코드에서 기호 또는 패턴을 식별하고 이러한 패턴에 대해 매크로를 적용하는 방법을 지정합니다. 예를 들어, 이 매크로를 사용하여 새로운 함수를 생성할 수 있습니다. macro_rules! make_a_function { ($func_name: ident) => ( fn $func_name() { println!("Hello from {} function!", stringify!($func_name)); } ) } make_a_function!(my_function); f.. 2023. 3. 15.
Rust trait - 인터페이스?, 추상클래스? Rust에서 Trait은 다른 언어에서 인터페이스나 추상 클래스와 비슷한 역할을 합니다. Trait은 메서드와 관련된 동작을 정의하며, 구조체, 열거형, 또는 다른 Trait 등과 함께 사용될 수 있습니다. Trait을 사용하여 코드를 더 모듈화하고, 코드 재사용성을 높이고, 다형성을 제공할 수 있습니다. 다음은 간단한 예제입니다. 이 예제에서는 Trait을 사용하여 구조체가 지정된 Trait에 해당하는 메서드를 구현할 수 있도록합니다. trait Animal { fn name(&self) -> &'static str; fn make_sound(&self); } struct Dog { name: &'static str, } struct Cat { name: &'static str, } impl Anima.. 2023. 3. 14.
zsh 설치/셋팅하기 - install, setting zsh이 좋은점 : tab 자동완성, 제안(Ctrl + r), 프롬프트 install zsh, oh-my-zsh, zsh-syntax-highlighting $ sudo apt install zsh && \ chsh -s `which zsh` && \ sudo apt install zsh-syntax-highlighting && \ echo "source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ~/.zshrc && \ curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh config zsh edit theme and add plug.. 2023. 3. 13.
Rust 의 소유권(ownership)이란? Rust 언어의 소유권 시스템은 메모리 안전성과 동시성을 보장하기 위해 설계된 고유한 기능입니다. 이 시스템은 Rust 코드에서 객체의 소유권을 추적하여 런타임 오류인 "null pointer dereference"와 "dangling pointer"같은 일반적인 메모리 오류를 방지합니다. Rust에서 모든 객체는 변수에 바인딩되어 있으며, 각 변수는 그 객체의 소유자입니다. 이렇게 소유권이 지정된 객체는 다른 스코프로 전달될 때 소유권이 이전됩니다. 이를 "move"라고 부릅니다. 이렇게 소유권을 이전함으로써 객체의 수명을 추적하고, 객체에 대한 메모리 할당과 해제를 자동으로 처리할 수 있습니다. 또한, Rust에서는 불변 참조와 가변 참조를 구분합니다. 불변 참조는 객체의 소유권을 넘기지 않고도 객체.. 2023. 3. 13.
Rust 의 type : Some 에 대해.. Rust 언어에서 Some은 Option 열거형의 한 가지 값으로, 값이 있음을 나타냅니다. Option 열거형은 Rust에서 값이 있을 수도 있고 없을 수도 있는 값을 나타낼 때 사용됩니다. Some 값은 다른 값으로 래핑됩니다. 예를 들어, Some(5)는 5라는 값이 있음을 나타내며, Some("hello")는 문자열 "hello"가 있음을 나타냅니다. Some은 보통 패턴 매칭과 함께 사용됩니다. 예를 들어, 다음은 Option 열거형에서 Some 값을 추출하는 방법입니다: let x: Option = Some(5); match x { Some(n) => println!("The value of x is {}", n), None => println!("x is not set"), } 위 코드는 x.. 2023. 3. 10.