#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

#14 in #string-interpolation

Download history 113/week @ 2024-07-29 124/week @ 2024-08-05 145/week @ 2024-08-12 87/week @ 2024-08-19 120/week @ 2024-08-26 96/week @ 2024-09-02 114/week @ 2024-09-09 101/week @ 2024-09-16 105/week @ 2024-09-23 88/week @ 2024-09-30 83/week @ 2024-10-07 92/week @ 2024-10-14 86/week @ 2024-10-21 116/week @ 2024-10-28 106/week @ 2024-11-04 86/week @ 2024-11-11

404 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