mirror of https://github.com/KaiserY/trpl-zh-cn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
527 B
33 lines
527 B
3 years ago
|
pub struct Post {
|
||
|
state: Option<Box<dyn State>>,
|
||
|
content: String,
|
||
|
}
|
||
|
|
||
|
// ANCHOR: here
|
||
|
impl Post {
|
||
|
// --snip--
|
||
|
// ANCHOR_END: here
|
||
|
pub fn new() -> Post {
|
||
|
Post {
|
||
|
state: Some(Box::new(Draft {})),
|
||
|
content: String::new(),
|
||
|
}
|
||
|
}
|
||
|
|
||
|
pub fn add_text(&mut self, text: &str) {
|
||
|
self.content.push_str(text);
|
||
|
}
|
||
|
|
||
|
// ANCHOR: here
|
||
|
pub fn content(&self) -> &str {
|
||
|
""
|
||
|
}
|
||
|
}
|
||
|
// ANCHOR_END: here
|
||
|
|
||
|
trait State {}
|
||
|
|
||
|
struct Draft {}
|
||
|
|
||
|
impl State for Draft {}
|