
BackedEnum::tryFrom 메서드는 enum type을 다른 타입으로 변환하는 시도를 하는 메서드입니다. 이 메서드는 변환에 성공하면 Ok 값을 반환하고, 실패하면 Err 값을 반환합니다.
tryFrom 메서드는 다른 타입으로의 변환을 시도할 때, 변환에 성공할 수 없는 경우를 대비하여 안전하게 변환을 시도할 수 있습니다. 예를 들어, 정수형 enum을 실수형으로 변환하는 경우, 변환에 성공할 수 없는 경우를 대비하여 tryFrom 메서드를 사용할 수 있습니다.
다음은 tryFrom 메서드의 사용 예시입니다.
#hostingforum.kr
rust
enum Color {
Red,
Green,
Blue,
}
impl TryFrom for Color {
type Error = String;
fn try_from(value: i32) -> Result {
match value {
0 => Ok(Color::Red),
1 => Ok(Color::Green),
2 => Ok(Color::Blue),
_ => Err("Invalid color value".to_string()),
}
}
}
fn main() {
let result = Color::try_from(0);
match result {
Ok(color) => println!("Color: {:?}", color),
Err(error) => println!("Error: {}", error),
}
let result = Color::try_from(3);
match result {
Ok(color) => println!("Color: {:?}", color),
Err(error) => println!("Error: {}", error),
}
}
이 예시에서는 enum Color을 정수형으로 변환하는 시도를 하는 tryFrom 메서드를 사용합니다. 변환에 성공하면 Ok 값을 반환하고, 실패하면 Err 값을 반환합니다.
2025-07-11 16:46