我有模块string_queue
:
use crossbeam_utils::thread;
use std::sync::{Arc, Mutex};
pub struct MyText {
my_text: Arc<Mutex<Vec<String>>>,
}
pub trait MyTextOptions {
fn new() -> MyText;
fn add(&self, t: &str);
fn get(&self) -> String;
}
impl MyTextOptions for MyText {
fn new() -> MyText {
unimplemented!();
}
fn add(&self, text: &str) {
unimplemented!();
}
fn get(&self) -> String {
unimplemented!();
}
}
有没有一种方法可以在该模块中声明一个可变变量,该变量与my_text
中定义的pub struct MyText
类型相对应,在整个应用程序执行时间内有效,并且可以用作该变量的输入变量。定义了impl MyTextOptions for MyText
个函数?
基本上,我正在寻找类似于此Python代码中self.__l = []
的用法,而不使用RustPython或类似的Python + Rust混合体。
class MyClass:
def __init__(self):
self.__l = []
def add(self, t):
self.__l += [t]
def get(self):
t = self.__l[0]
self.__l = self.__l[1:]
return t