예전부터 Rust라는 언어에 관심을 가지게 되었고, 공부를 조금씩 하고 있었다.
한 1년 정도는 한글로 번역된 문서를 보거나 예제 코드를 직접 따라서 작성해보거나 Rust라는 언어에 익숙해지려고 시도를 했었던 것 같다.
하지만 이 시간을 뒤돌아 본다면 Rust란 언어에 익숙해졌다는 느낌을 받지 못했다. (이상하다?)
이런저런 고민거리로 1년이란 시간이 지났다.
문서만 보고 예제 코드를 따라만 작성해서는 당연하다는 생각이 들었고,
어떤 것이든 직접 코드를 작성해보자는 마음을 다졌지만,
실천하기 어려웠다.
막상 코드를 작성하려면 무엇을 해야 할지 모르겠다는 것인데, 이전에 다른 언어로 작성해본 예제 코드라던가, 이전에 풀었던 알고리즘 문제라던가, 이전에 한번이라도 해본 코드들을 Rust 언어로 다시 작성해자는 생각이 들었다.
또 이 마음 가짐이 언제까지 갈지는 모르겠지만, 일단 해보자.
--- 실행결과 ---
--- 소스코드 ---
const MAX_COUNT: u8 = 20;
fn main() {
println!("--- [Fibonacci (v1)!] ---");
fibonacci_v1();
println!("--- [Fibonacci (v2)!] ---");
let mut x = 0;
let mut y = 1;
fibonacci_v2(&mut x, &mut y);
}
fn fibonacci_v2(x1: &mut u32, y1: &mut u32) -> () {
let mut z: u32;
for i in 0..MAX_COUNT {
z = *x1 + *y1;
print!("{}", *x1);
*x1 = *y1;
*y1 = z;
if i < (MAX_COUNT - 1) { print!(" "); }
}
println!("");
}
fn fibonacci_v1() -> () {
let mut x = 0;
let mut y = 1;
let mut z: u32;
for i in 0..MAX_COUNT {
z = x + y;
print!("{}", x);
x = y;
y = z;
if i < (MAX_COUNT - 1) { print!(" "); }
}
println!("");
}
최근 덧글