Skip to content

Commit e6983b8

Browse files
committed
save
1 parent e5ca52a commit e6983b8

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed

examples/wasi_workers/main.rs

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
fn main() {
2+
// ファイル名を受けとる
3+
let args: Vec<String> = std::env::args().collect();
4+
let filename = &args[1];
5+
6+
println!("reading file: {}", filename);
7+
8+
// ファイルを読み込む
9+
let file = std::fs::read_to_string(filename).expect("ファイルが読み込めませんでした");
10+
11+
// ファイルの内容を表示
12+
println!("{}", file);
13+
14+
// ファイルの内容を書き換え
15+
// 二つ目の引数の文字列を二つ目の文字列に書き換える
16+
let replaced = file.replace(&args[2], &args[3]);
17+
18+
// 書き換えた内容を表示
19+
println!("{}", replaced);
20+
21+
println!("random replace start");
22+
23+
let start = std::env::args().nth(4).unwrap().parse::<u64>().unwrap();
24+
let end = std::env::args().nth(5).unwrap().parse::<u64>().unwrap();
25+
26+
// 新しいfileを作る
27+
let new_file = format!("{}-{}~{}.txt", filename, start, end);
28+
std::fs::write(&new_file, "$$$$$$$$$").expect("ファイルが書き込めませんでした");
29+
30+
let loop_n = std::env::args().nth(6).unwrap_or("100".to_string()).parse::<u64>().unwrap();
31+
32+
// loop {
33+
for _ in 0..loop_n {
34+
// ファイルを読み込む
35+
let file = std::fs::read_to_string(filename).expect("ファイルが読み込めませんでした");
36+
37+
// ランダムな数値を生成
38+
let random = rand::random::<u64>() % (end - start) + start;
39+
40+
// 生成した数値をkファイルの内容に書き換える
41+
let replaced = format!("{}, {}", file, random);
42+
43+
// 書き換えた内容を表示
44+
println!("{}", replaced);
45+
46+
// ファイルを書き換える
47+
std::fs::write(filename, &replaced).expect("ファイルが書き込めませんでした");
48+
49+
// 1秒待つ
50+
// std::thread::sleep(std::time::Duration::from_secs(1));
51+
}
52+
}

0 commit comments

Comments
 (0)