続きです。

REPLとは

こちらの記事を参照してください。

Rustで実装する

$ cargo new rs-repl

src/main.rs

use std::io::{self, Write};

fn main() {
    let mut input = String::new();

    loop {
        print!("rust> ");
        io::stdout().flush().unwrap();
        input.clear();
        io::stdin().read_line(&mut input).unwrap();

        let prompt = input.trim();
        match prompt {
            "exit" => {
                println!("Bye!");
                break;
            },
            _ => println!("{}", prompt),
        }
    }
}

実行する

$ cargo build
$ cargo run
rust> 1 + 1
1 + 1
rust> foobar
foobar
rust> baz
baz
rust> exit
Bye!

こちらもctrl-cとctrl-dの処理を考えておきたいと思います。

广告
将在 10 秒后关闭
bannerAds