#string-interpolation #join #array #proc-macro #jstr

macro join_str

Proc macro to do simple string interpolation as an array join

1 unstable release

0.1.0 May 19, 2022

#15 in #string-interpolation

Download history 96/week @ 2024-08-31 102/week @ 2024-09-07 111/week @ 2024-09-14 115/week @ 2024-09-21 90/week @ 2024-09-28 74/week @ 2024-10-05 102/week @ 2024-10-12 79/week @ 2024-10-19 107/week @ 2024-10-26 115/week @ 2024-11-02 73/week @ 2024-11-09 100/week @ 2024-11-16 123/week @ 2024-11-23 119/week @ 2024-11-30 141/week @ 2024-12-07 102/week @ 2024-12-14

501 downloads per month
Used in 3 crates (via roead)

GPL-3.0-or-later

3KB

join_str

Simple proc macro to do simple string interpolation as an array join, since it's one of the most efficient methods.

use join_str::jstr;

fn main () {
  let actor_name = "GameROMPlayer";
  assert_eq!(
    String::from("Actor/ActorLink/GameROMPlayer.bxml"),
    jstr!("Actor/ActorLink/{actor_name}.bxml")
  );
}

If your interpolated code contains quotation marks, pass a raw string to the macro:

use join_str::jstr;
use std::collections::HashMap;

fn main () {
  let mut actors: HashMap<String, String> = HashMap::new();
  actors.insert(String::from("GameROMPlayer"), String::from("Link"));
  assert_eq!(
    String::from("The GameROMPlayer actor is Link"),
    jstr!(r#"The GameROMPlayer actor is {actors["GameROMPlayer"]}"#)
  );
}

No runtime deps