我想将具有一些预生成值的标量写入文件。这是一个非常类似于我想要完成的示例,但这些标量并没有写出任何输出。我试图取消引用标量,因为在代码中可以看到没有成功。
scalar Sc1b = 11
scalar Sc2b = 22
scalar Sc3b = 33
scalar Sc4b = 44
scalar Sc5b = 55
scalar Sc6b = 66
scalar Sc7b = 77
scalar Sc8b = 88
file open myfile using"C:/mytable.txt", write replace
forvalues i=1/8 {
forvalues q=1/8 {
display `i', `q', `Sc`i'b', ("`Sc`i'b'"), ("`Sc("`i'")b'")
file write myfile ("`i'") _tab ("`q'") _tab `Sc`i'b' _tab ("`Sc`q'b'") _tab ("`Sc("`q'")b'") _n
}
}
file close myfile
答案 0 :(得分:1)
您无需在此处取消引用标量。他们没有临时名字;你为它们分配了永久名称,所以没有别名可以剥离。我猜测用于编写标量的代码的多个版本是在正确的代码猜测,并且您只需要每个标量一次。我还为其他平台上的那些删除了相当具体的Windows引用。
scalar Sc1b = 11
scalar Sc2b = 22
scalar Sc3b = 33
scalar Sc4b = 44
scalar Sc5b = 55
scalar Sc6b = 66
scalar Sc7b = 77
scalar Sc8b = 88
file open myfile using "mytable.txt", write replace
forvalues i=1/8 {
forvalues q=1/8 {
display `i', `q', Sc`i'b
file write myfile ("`i'") _tab ("`q'") _tab (Sc`i'b) _n
}
}
file close myfile
但是,请注意,此代码假定没有具有相同名称的变量或其名称缩写为与标量同名的变量。标量和变量共享相同的命名空间。如有必要,请使用scalar()
消除歧义。