Joshua Rutschmann 7 年之前
父節點
當前提交
2baa42109f
共有 2 個檔案被更改,包括 46 行新增0 行删除
  1. 6
    0
      hw9/task1/Cargo.toml
  2. 40
    0
      hw9/task1/src/lib.rs

+ 6
- 0
hw9/task1/Cargo.toml 查看文件

@@ -0,0 +1,6 @@
1
+[package]
2
+name = "task1"
3
+version = "0.1.0"
4
+authors = ["Lorenz Bung <lorenz.bung@googlemail.com>"]
5
+
6
+[dependencies]

+ 40
- 0
hw9/task1/src/lib.rs 查看文件

@@ -0,0 +1,40 @@
1
+pub fn parse(message: &str) -> Command {
2
+    let m : String = String::from(message);
3
+    let mut s = m.split_whitespace();
4
+    match s.next() {
5
+        Some("STAGE") => {
6
+            let msg = m[6..].trim_left();
7
+
8
+            /* let mut msg = String::new();
9
+            while let Some(sub_msg) = s.next() {
10
+                msg += " ";
11
+                msg += sub_msg
12
+            }*/
13
+            Command::Stage(msg)
14
+        }
15
+        Some("CONTROL") => {
16
+            let cmd = m[8..].trim_left();
17
+
18
+            /*let mut cmd = String::new();
19
+            while let Some(sub_cmd) = s.next() {
20
+                cmd += " ";
21
+                cmd += sub_cmd
22
+            }*/
23
+            Command::Control(&cmd)
24
+        }
25
+        Some("RETRIEVE") => {
26
+            Command::Retrieve
27
+        }
28
+        Some(_) => {
29
+            Command::Error
30
+        }
31
+        None => panic!("Parse Error")
32
+    }
33
+}
34
+
35
+pub enum Command {
36
+    Stage(String),
37
+    Control(String),
38
+    Retrieve,
39
+    Error,
40
+}

Loading…
取消
儲存