Решено: генератор на произволни числа

Последна актуализация: 09/13/2023
Автор: Rust SourceTrail

Въпреки че Rust не е често първият език, който идва на ум, когато мислим за генератори на произволни числа (RNG), той предлага ефективен и надежден начин за внедряването им.

Поддръжката на Rust за програмиране на ниско ниво, съчетана с неговия фокус върху безопасността и производителността, го прави интересен избор за внедряване на RNG. Това гарантира, че всяка програма, използваща RNG, ще работи правилно, независимо от операционната система или архитектурата, на която работи.

Случайно число поколението е ключов компонент в много видове софтуер, от игри и симулации до криптографски системи. Способността да се генерират наистина произволни числа – т.е. числа, които са напълно непредсказуеми и неповторими – е критична във всички тези области.

Решението на Rust за генериране на произволни числа

Rust не поддържа генериране на произволни числа в стандартната си библиотека, тъй като е минималистичен и безопасен системен език. Вместо това той използва библиотеки или каси, като ред, които се справят със сложни задачи, като RNG. Сандъкът „rand“ в Rust е универсално и способно решение на проблема с генерирането на произволни числа.

В Rust генерирането на произволно число може да бъде толкова просто, колкото използването на характеристиката `rand::Rng` и извикването на неговите методи на стойност, създадена с `rand::thread_rng()`. `rand::thread_rng()` е манипулатор на локалния генератор на произволни числа в нишката.

използвайте rand::Rng;

fn main() {
нека num = rand::thread_rng().gen_range(1..101);
println!(“Случайно число: {}”, брой);
}

Тази програма ще изведе произволно цяло число между 1 и 100 включително.

Обяснение на RNG кода в Rust

За да генерирате произволни числа в Rust, първо трябва да включите кутията `rand` като зависимост във вашия файл `Cargo.toml`.

[зависимости]
ранд = „0.8“

След като сте посочили `rand` като зависимост, можете да използвате характеристиката `rand::Rng` във вашата програма. Това става чрез използване на декларацията `use rand::Rng;` в началото на кода. Характеристиката „Rng“ дефинира методи, които генераторите на произволни числа прилагат, и тази характеристика трябва да бъде в обхвата, за да можем да използваме тези методи.

Функцията `rand::thread_rng()` ще ви даде копие на локалния генератор на случайни числа в нишката. Този конкретен RNG е добър избор по подразбиране за много сценарии. Бързо е и не изисква никаква настройка освен първоначалното извикване на функция.

След това методът `gen_range` се използва за генериране на произволни числа между посочените долна и горна граница. Долната граница е включваща, докато горната граница е изключваща.

Ключови библиотеки и функции

  • rand::Rng: Ключовата характеристика, която определя методите, които използваме за генериране на произволни числа.
  • rand::thread_rng(): Тази функция извлича генератор на произволни числа, локален за нишката, в която е извикана.
  • gen_range(): Метод, реализиран от чертата Rng, използван за получаване на произволно число в определен диапазон.

Rust предоставя елегантно и ефективно решение за често трудния проблем с генерирането на случайни числа. С използването на crate като `rand` и прилагането на вградени методи като `rand::Rng` и `gen_range`, писането на генератор на произволни числа в Rust е лесно и ефективно.

Подобни публикации:

Оставете коментар