私はサイド プロジェクトとして独自のスクリプト言語を実装しており、言語変数では $[変数名] によってアクセスされます。ただし、String.replace() を使用して (たとえば) $myvar を myvar の値 (たとえば、「My variable」) に置き換える場合、次のコードを使用します。
public static void main(String[] args)
{
System.out.println(replaceVars("$myvar"));
}
public static String replaceVars(String source)
{
String[][] varNames = new String[][]{new String[]{"myvar", "This is a variable"}, new String[]{"anothervar", "This is another variable"}, new String[]{"yetanothervar", "This is yet another variable"}};
String result = source;
for(String[] s : varNames) result = result.replace("$" + s[0], s[1]);
return result;
}
出力: $myvar
何が起こっている?