[Rust] 制御コードでspinする

use std::io; use std::io::{Write}; use std::{thread, time}; fn main () { let output = io::stdout(); let ten_millis = time::Duration::from_millis(1); loop { let mut handle = output.lock(); handle.write(b"|").unwrap(); thread::sleep(ten_millis); handle.write(b"\x1b[1D").unwrap(); handle.write(b"/").unwrap(); thread::sleep(ten_millis); handle.write(b"\x1b[1D").unwrap(); handle.write(b"-").unwrap(); thread::sleep(ten_millis); handle.write(b"\x1b[1D").unwrap(); handle.write(b"\\").unwrap(); thread::sleep(ten_millis); handle.write(b"\x1b[1D").unwrap(); } }...

 · 1 min · しむどん三度無視

[Rust] 標準入力を取り扱う

実装 use std::io; use std::io::BufRead; fn main() { let stdin = io::stdin(); for line_result in stdin.lock().lines() { println!("DATA: {:?}", line_result); } } main.rs ビルド $ rustc main.rs 実行 bash-5.1$ echo aaaaaaaaaaaaaa | ./main DATA: Ok("aaaaaaaaaaaaaa")...

 · 1 min · しむどん三度無視

EmacsとRustでTCPソケットを開いて接続を待ち受ける

方針 TCPソケットを開く処理はRustで実装する。 Emacs側はプロセスを起動するだけに止め標準入出力でそのプログラムとやり取りする。 実装 [package] name = "emacs-tcp" version = "0.1.0" authors = ["TakesxiSximada <[email protected]>"]...

 · 1 min · しむどん三度無視

Rustでasync_stdを用いて簡易なHTTP Serverを実装する

実装 [package] name = "testing" version = "0.1.0" authors = ["TakesxiSximada <[email protected]>"] edition = "2018" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] futures = "0.3" [dependencies.async-std] version = "1.6" features = ["attributes"] Cargo.toml use async_std::prelude::*; use async_std::net::TcpListener; use async_std::net::TcpStream; use futures::stream::StreamExt; async fn handle_connection(mut stream: TcpStream) { let mut buffer = [0; 1024]; stream.read(&mut buffer).await.unwrap(); let response = "HTTP/1.1 200 OK\r\n\r\naaaaaa\r\n\r\n"; stream.write(response.as_bytes()).await.unwrap(); stream.flush().await.unwrap(); } #[async_std::main] async fn main() { let listener = TcpListener::bind("127.0.0.1:7878").await.unwrap(); listener .incoming() .for_each_concurrent(/*...

 · 1 min · しむどん三度無視

RustでTCP Echo Serverを書く

TCPソケットを開いて接続を待ち受け、送られてきたデータをそのまま返すTCP EchoサーバーをRustで実装した。...

 · 2 min · しむどん三度無視

RustでHello world!

Hello worldをprintするだけの処理を書く fn main () { println!("Hello world!"); } main.rs ビルド シンプルなコードなのでrustcを直接用いてビルドすることにした。 rustcコマンドの第一引数...

 · 1 min · しむどん三度無視