728x90
728x170
■ macro_rules! 매크로를 사용해 특정 값의 레이블을 구하는 매크로를 만드는 방법을 보여준다.
▶ 예제 코드 (RS)
macro_rules! select_label
{
($value : expr, $($source_label : expr => $range : expr);+) =>
{
{
let mut target_label = "";
$(
if $range.start <= $value && $value< $range.end
{
target_label = $source_label;
}
)+
target_label
}
};
}
fn main()
{
let label : &str = select_label!
[
90,
"하단" => 0..30;
"중단" => 30..60;
"상단" => 60..100
];
println!("결과 : {}", label);
}
/*
결과 : 상단
*/
728x90
그리드형(광고전용)
'Rust > Common' 카테고리의 다른 글
[RUST/COMMON] Box<T> 구조체 : 단방향 연결 리스트 만들기 (기능 추가) (0) | 2023.06.12 |
---|---|
[RUST/COMMON] Box<T> 구조체 : 값 T 구하기 (0) | 2023.06.10 |
[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! 매크로 : HashMap 객체를 초기화하는 매크로 만들기 (0) | 2023.06.09 |
[RUST/COMMON] macro_rules! 매크로 : BASIC 언어의 for문 매크로 만들기 (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 |