【发布时间】:2014-09-21 21:59:05
【问题描述】:
我正在使用 Nickel.rs 构建一个待办事项列表示例。由于暂时不支持闭包,我正在尝试寻找另一种方法来处理我实现的简单结构。
这是我的代码:
extern crate nickel;
use std::io::net::ip::Ipv4Addr;
use nickel::{Nickel, Request, Response};
struct TaskList {
list: Vec<String>
}
impl TaskList {
fn new() -> TaskList {
TaskList { list: Vec::new() }
}
fn add_task (&mut self, task: &str) {
&self.list.push(task.to_string());
}
fn get_tasks (&self) -> Vec<String> {
self.list.to_vec()
}
}
fn main() {
let mut server = Nickel::new();
static mut sample : TaskList = TaskList { list: Vec::new() };
sample.add_task("First");
sample.add_task("Second");
fn fetch_tasks (_request: &Request, response: &mut Response) {
response.send(sample.get_tasks().to_string())
}
server.utilize(Nickel::static_files("./public"));
server.get("/task", fetch_tasks);
server.listen(Ipv4Addr(127, 0, 0, 1), 6767);
}
但是编译器给我写了这个:“可变静态项不允许有析构函数”
你对我如何解决这个问题有什么建议吗?
【问题讨论】: