小编Die*_*oAV的帖子

什么是像 Java 的 instanceof 这样的结构的函数?

我正在用 Rust 制作一个 OOP 聊天客户端。模块 messages.rs 创建并处理发送到其他模块的消息作为 structs:SimpleMessageComplexMessagestructs:

//! # Messages

use time::SteadyTime;

/// Represents a simple text message
pub struct SimpleMessage<'a> {
    pub user: ...
    pub time: &'a SteadyTime<'a>,
    pub content: &'a str,
}

/// Represents attachments, like text or multimedia files.
pub struct ComplexMessage<'a> {
    pub user: ...
    pub time: &'a SteadyTime<'a>,
    //pub content: PENDING
}

impl<'a> SimpleMessage<'a> { }
impl<'a> ComplexMessage<'a> { }

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn is_simple() { …
Run Code Online (Sandbox Code Playgroud)

oop struct object instanceof rust

7
推荐指数
1
解决办法
1093
查看次数

如何在Rust中将read_line()的结果作为String?

我正试图String从标准输入中获取:

use std::io;

fn ask_nick() -> String {
    let reader = io::stdin();
    let mut buffer: String = String::new();

    let nickname: String = reader.read_line(&mut buffer).ok()
        .expect("ERRMSG").to_string();

        println!("OK: Hello {}!", &nickname);
        return nickname;
    }
}

fn main() {
    let nickname: String = ask_nick();
    println!("{}", nickname);
}
Run Code Online (Sandbox Code Playgroud)

但是,从转换usizeString仿佛内容改变它的长度:

          INPUT:= John
EXPECTED OUTPUT:= OK: Hello John!
                  John
         OUTPUT:= OK: Hello 5!
                  5

          INPUT:= Doe
EXPECTED OUTPUT:= OK: Hello Doe!
                  Doe
         OUTPUT:= OK: Hello 4!
                  4
Run Code Online (Sandbox Code Playgroud)

tostring rust

-1
推荐指数
1
解决办法
811
查看次数

标签 统计

rust ×2

instanceof ×1

object ×1

oop ×1

struct ×1

tostring ×1