瀏覽代碼

Added splitting at newline

Lorenz Bung 7 年之前
父節點
當前提交
c6303bd753
共有 1 個檔案被更改,包括 32 行新增26 行删除
  1. 32
    26
      hw9/task1/src/lib.rs

+ 32
- 26
hw9/task1/src/lib.rs 查看文件

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

Loading…
取消
儲存