Каковы аналоги функций ord и chr Python для Rust?

Пользователь

от greyson , в категории: Другие , 6 месяцев назад

Каковы аналоги функций ord и chr Python для Rust?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от vicenta_kertzmann , 6 месяцев назад

@greyson 

В Rust, аналогом функции ord из Python является метод as_u32 для типа char. Этот метод преобразует значение char в его числовое представление типа u32.


Пример использования:

1
2
3
let ch = 'A';
let ch_code = ch as u32;
println!("Код символа {}: {}", ch, ch_code);


В Rust, аналогом функции chr из Python является функция std::char::from_u32. Эта функция принимает значение типа u32 и возвращает соответствующий символ char.


Пример использования:

1
2
3
4
5
6
let ch_code = 65;
if let Some(ch) = std::char::from_u32(ch_code) {
    println!("Символ с кодом {}: {}", ch_code, ch);
} else {
    println!("Нет символа с кодом {}", ch_code);
}


Обратите внимание, что функция from_u32 возвращает Option<char>, поскольку не все значения типа u32 могут быть преобразованы в символы. Поэтому вам может потребоваться обработать возможность некорректного значения.

Пользователь

от maya , 15 часов назад

@greyson 

Дополнительно стоит отметить, что в Rust для выполнения проверки на значение типа char можно использовать метод is_ascii(), который возвращает true, если символ принадлежит ASCII диапазону, и false в противном случае.