Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the r#""# operator in Rust?

I saw the operator r#"" in Rust but I can't find what it does. It came in handy for creating JSON:

let var1 = "test1"; let json = r#"{"type": "type1", "type2": var1}"#; println!("{}", json) // => {"type2": "type1", "type2": var1} 

What's the name of the operator r#""? How do I make var1 evaluate?

like image 678
Incerteza Avatar asked Oct 28 '14 15:10

Incerteza


1 Answers

I can't find what it does

It has to do with string literals and raw strings. I think it is explained pretty well in this part of the documentation, in the code block that is posted there you can see what it does:

"foo"; r"foo";                     // foo "\"foo\""; r#""foo""#;             // "foo"  "foo #\"# bar"; r##"foo #"# bar"##;                // foo #"# bar  "\x52"; "R"; r"R";                 // R "\\x52"; r"\x52";                  // \x52 

It negates the need to escape special characters inside the string.

like image 52
Tim Avatar answered Nov 04 '22 11:11

Tim