我有一个结构,其字段定义如下:

log_str: RefCell<String>

我对 borrow_mut() 进行了各种调用,以在现场调用 push_str(.)。最后,我使用以下方法评估其值(value):
assert_eq!(os.log_str.borrow(), "<expected value>");

尽管如此,断言行会引发编译时错误,并显示以下消息:



我明白为什么会发生错误,因为编译器甚至提示:



我的问题是:我应该如何比较 RefCell<T> 中包含的值(通常在这种情况下,将包含的字符串与预期值进行比较)。

谢谢 !

最佳答案

您想取消引用 borrow ed 值:

assert_eq!(*os.log_str.borrow(), "<expected value>");

关于rust - 比较包含在 RefCell<T> 中的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57613470/

10-10 18:33