Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2019
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.65 KB | None | 0 0
  1. #[derive(Debug, Default)]
  2. struct Foo {
  3. data: String,
  4. }
  5.  
  6. impl Foo {
  7. fn open(&mut self, src: &str) {
  8. let url: Vec<&str> = src.splitn(2, "://").collect();
  9.  
  10. let mut open_file = |x: &str| {
  11. self.data.push_str(&format!("open_file(): {}", x));
  12. self.data.push_str(" ok!");
  13. };
  14.  
  15. match url[0] {
  16. _ if url.len() == 1 => open_file(url[0]),
  17. "file" => open_file(url[1]),
  18. _ => { panic!("err") },
  19. };
  20. }
  21. }
  22.  
  23. fn main() {
  24. let mut foo = Foo::default();
  25. foo.open("/test");
  26. dbg!(foo);
  27.  
  28. let mut foo = Foo::default();
  29. foo.open("file:///path");
  30. dbg!(foo);
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement