728x90
728x170
■ macro_rules! 매크로를 사용해 BASIC 언어의 for문 매크로를 만드는 방법을 보여준다.
▶ 예제 코드 (RS)
macro_rules! basic_for
{
(
for $i:ident = $from:tt to $to:tt $block:block
) =>
{
{
for $i in $from..=$to
{
$block;
}
}
};
(
for $i:ident = $from:tt to $to:tt step $step:tt $block:block
) =>
{
{
let mut $i = $from;
loop
{
if $i > $to
{
break;
}
$block;
$i += $step;
}
}
};
}
fn main()
{
let mut total : i32 = 0;
basic_for!
{
for i = 1 to 10
{
total += i;
}
}
println!("{}", total);
basic_for!
{
for i = 0 to 10 step 3
{
println!("i = {}", i);
}
}
}
/*
55
i = 0
i = 3
i = 6
i = 9
*/
728x90
그리드형(광고전용)
'Rust > Common' 카테고리의 다른 글
[RUST/COMMON] Box<T> 구조체 : 열거형을 사용해 단방향 연결 리스트 만들기 (0) | 2023.06.10 |
---|---|
[RUST/COMMON] Box<T> 구조체 : 단방향 연결 리스트 만들기 (0) | 2023.06.10 |
[RUST/COMMON] macro_rules! 매크로 : 재귀 호출 매크로 만들기 (0) | 2023.06.10 |
[RUST/COMMON] macro_rules! 매크로 : 특정 값의 레이블을 구하는 매크로 만들기 (0) | 2023.06.10 |
[RUST/COMMON] macro_rules! 매크로 : HashMap 객체를 초기화하는 매크로 만들기 (0) | 2023.06.09 |
[RUST/COMMON] macro_rules! 매크로 : 가변 인수 매크로 만들기 (0) | 2023.06.08 |
[RUST/COMMON] marco_rules! 매크로 : 매크로 만들기 (0) | 2023.06.08 |
[RUST/COMMON] 크레이트 설치 : async-std (0) | 2023.06.07 |
[RUST/COMMON] TCP 프로토콜을 사용해 간이 채팅 프로그램 만들기 (0) | 2023.06.05 |
[RUST/COMMON] spawn 함수 : 쓰레드로 병렬 계산 처리하기 (0) | 2023.06.04 |