Skip to content

Commit 61c15b3

Browse files
authored
Merge pull request #2 from rniczh/master
Wrapping the questions into json file.
2 parents de8993c + 16d3eb7 commit 61c15b3

File tree

4 files changed

+132
-34
lines changed

4 files changed

+132
-34
lines changed

Cargo.lock

Lines changed: 80 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,5 @@ edition = "2018"
66

77
[dependencies]
88
termion = "*"
9+
serde = { version = "1.0", features = ["derive"] }
10+
serde_json = "1.0"

src/main.rs

Lines changed: 8 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,22 @@
11
extern crate termion;
22

33
use std::io;
4+
use std::fs::File;
45
use termion::{color, style};
6+
use serde::{Serialize, Deserialize};
57

8+
9+
#[derive(Debug, Serialize, Deserialize)]
610
struct Subject {
711
question: String,
812
answer: String
913
}
1014

1115
fn main() {
12-
let subjects = vec![
13-
Subject {
14-
question: String::from("Rust 1.0 在哪一年釋出?"),
15-
answer: String::from("2015年")
16-
},
17-
Subject {
18-
question: String::from("Rust.tw 的聚會時間在什麼時候?"),
19-
answer: String::from("每個月的最後一個星期六晚上七點半")
20-
},
21-
Subject {
22-
question: String::from("以 Rust 開發的瀏覽器引擎叫什麼名字?"),
23-
answer: String::from("Servo")
24-
},
25-
Subject {
26-
question: String::from("2016年stackoverflow most loved language 是?"),
27-
answer: String::from("Rust")
28-
},
29-
Subject {
30-
question: String::from("2017年stackoverflow most loved language 是?"),
31-
answer: String::from("Rust")
32-
},
33-
Subject {
34-
question: String::from("2018年stackoverflow most loved language 是?"),
35-
answer: String::from("Rust")
36-
},
37-
Subject {
38-
question: String::from("2019年stackoverflow most loved language 是?"),
39-
answer: String::from("Rust")
40-
},
41-
Subject {
42-
question: String::from("為了安全性,Rust不支援哪種OOP語法?"),
43-
answer: String::from("inheritance")
44-
},
45-
];
16+
17+
let questions_file = File::open("src/question.json").expect("Failed to reading file: question.json.");
18+
let subjects: Vec<Subject> = serde_json::from_reader(questions_file).unwrap();
19+
4620
let mut count = 0;
4721
let length = subjects.len();
4822
for subject in &subjects {

src/question.json

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
[
2+
{
3+
"question": "Rust 1.0 在哪一年釋出?",
4+
"answer": "2015年"
5+
},
6+
7+
{
8+
"question": "Rust.tw 的聚會時間在什麼時候?",
9+
"answer": "每個月的最後一個星期六晚上七點半"
10+
},
11+
12+
{
13+
"question": "以 Rust 開發的瀏覽器引擎叫什麼名字?",
14+
"answer": "Servo"
15+
},
16+
17+
{
18+
"question": "2016年stackoverflow most loved language 是?",
19+
"answer": "Rust"
20+
},
21+
22+
{
23+
"question": "2017年stackoverflow most loved language 是?",
24+
"answer": "Rust"
25+
},
26+
27+
{
28+
"question": "2018年stackoverflow most loved language 是?",
29+
"answer": "Rust"
30+
},
31+
32+
{
33+
"question": "2019年stackoverflow most loved language 是?",
34+
"answer": "Rust"
35+
},
36+
37+
{
38+
"question": "為了安全性,Rust不支援哪種OOP語法?",
39+
"answer": "inheritance"
40+
}
41+
42+
]

0 commit comments

Comments
 (0)