sS tok_formatDollarVars(S pat, MapSO vars) { MapSO vars2 = mapKeys dropDollarPrefix(vars); L tok = javaTok(pat); for (int i = 1; i < l(tok); i += 2) { S var = tok.get(i); S value = strOrNull(vars.get(var)); if (value != null) tok.set(i, value); } ret join(tok); } sS tok_formatDollarVars(S pat, O... _) { ret tok_formatDollarVars(pat, paramsToMap(_)); }