Crate dialoguer

⚓ Rust    📅 2026-01-27    👤 surdeus    👁️ 1      

surdeus

Info

This post is auto-generated from RSS feed The Rust Programming Language Forum - Latest topics. Source: Crate dialoguer

Vive le français !
Je suis débutant en Rust. Pour faciliter mes débuts, j'utilise RustRover.
Je souhaiterai changer les options de réponses dans le "dialoguer::Confirm". Est-il possible de changer (y/n) par (o/n) ?
Voici mon code :

// Programme de calcul du terme n dans la suite de FIBONACCI
// La formule utilisée est l'expression fonctionnelle de BINET
// Fn = 1/sqrt(5)x(phi^n - phi'^n)
// Avec :   phi = (1+sqrt(5))/2
//          phi' = (1-sqrt(5))/2

extern crate core;
use std::io;
use dialoguer::Confirm;

fn main() {
    let cinq: f32 = 5.0;
    let phi: f32 = (1.0+cinq.sqrt())/2.0;
    let phi_prime: f32 = (1.0-cinq.sqrt())/2.0;

    //affichage pour controle
    //println!("phi : {}, phi_prime : {}", phi, phi_prime);
    loop {
        println!("quel terme désirez-vous ?");
        let mut requete = String::new();

        io::stdin()
            .read_line(&mut requete)
            .expect("Echec lecture entrée utilisateur");
        let requete: f32 = requete.trim().parse().expect("veuillez entrer un nombre");

        let terme = 1.0 / cinq.sqrt() * (&phi.powf(requete) - &phi_prime.powf(requete));
        println!("le {}ième nombre dans la suite est {}", requete.round(), terme.round());

        let confirmation = Confirm::new()
            .with_prompt("Un autre ?")
            .interact_opt()
            .unwrap();

        if confirmation.expect("REASON") {
            continue;
        } else {
            break;
        }
    }
}

J'ai suivi, d'après ce que j'ai compris, les étapes pour la confirmation. Mais pour le test de la variable confirmation, RR me rajoute ".expect("REASON")" ! Pas compris...
De plus, quand je teste la saisie, et que je tente de rentrer autre chose que "y" ou "n", en tapant sur n'importe quelle touche, plusieurs fois de suite, sans trop regarder ce que je tape, Rust panique et moi aussi !
Une âme charitable pour m'expliquer un peu, sans trop m'inonder de détails incompréhensibles ? Je débute ...
Merci d'avance

9 posts - 2 participants

Read full topic

🏷️ Rust_feed