Let’s say I have a struct Event which implements the method permalink:

struct Event {
    base_url: String,
    rel_permalink: String,
    permalink: String,
    title: String,
}

impl Event {
    fn permalink(&self) -> String {
        let permalink = format!("{}{}", self.base_url, self.rel_permalink);
        permalink
    }
}

The method takes 2 fields of the struct and the target would be to return the definition of another field.

Later I instantiate an event1: Event:

let event1 = Event {
                base_url: base_url,
                rel_permalink: rel_permalink.to_string(),
                title: node.value().name().to_string(),
                permalink = permalink(),
            };

Essentially I would like the field permalink to be the value returned by the method permalink, is something like this possible, is this correct? I couldn’t find something similar in the docs…

Pheraps using an associated function as constructor would be a better way to handle a similar situation?

Thank you so much!

  • RustyNova@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    6 days ago

    Technically yes, but a newbie doesn’t need that. I doubt it’s an application that performance is so critical either.

    Too much premature optimisation IMO