如何将前导空格打印到日志中?输出带前导空格的字符串以保存空格
当我这样做
data _null_;
x = ' Hello, world!';
put x;
run;
结果是
2522 data _null_;
2523 x = ' Hello, world!';
2524 putlog x;
2525 run;
Hello, world!
NOTE: DATA statement used (Total process time):
real time 0.01 seconds
cpu time 0.01 seconds
我通过PUT documentation看去,却没有站出来给我。似乎使用格式(例如$CHARw.)可能有效。但是,这需要提前知道字符串的长度。
我想日志输出看起来像这样:
Hello, world! (<--edited by hand to display leading spaces)
NOTE: DATA statement used (Total process time):
real time 0.01 seconds
cpu time 0.01 seconds
只是要清楚,'@'不打印任何东西,也不是一个非打印字符 - 这是一个指针控制,但它避免了编译器/解析器想'putlog'是一个名为变量'putlog'代替一个声明/函数[因为'putlog + 2'如果是的话将是一个合法的SAS声明)。 (虽然'put'显然优先作为语句/函数,'putlog'没有得到这种优先级,可能是因为它更新,所以为了避免向后兼容性问题。) – Joe
没有真正解决输出问题变量中的前导空间。 – Tom
@Tom你为什么这么说?它似乎对我来说是这样做的。 – Joe