我正在做一些代码生成工作,我需要做的一件事是创建一个函数调用,其中一个参数是函数调用,如下所示:
result := Func1(x, y, Func2(a, b, c));
TStringList.CommaText 对于生成参数列表非常有用,但是当我遍历树来构建外部函数调用时,我最终得到的结果如下所示:
result := Func1(x, y, "Func2(a, b, c)");
它引用了第三个参数,因为它包含逗号,并且产生了无效代码。但是我不能做一些简单的事情,比如 StringReplace all double quotes with empty strings,因为函数参数很可能是一个内部带有双引号的字符串。有没有办法让它不逃避包含逗号的行?