vfp中內存變量名與字段名能不能相同?
可以相同,而且經常會用到,它會帶來極大的方便。
設有一個表 為 Tb, 其字段 name, age 。當前記錄 name='張三表', age = 25
設有內存變量: name = '李四內', age = 45
調用的優先級:字段 > 內存變量
也就是說:
? name &&輸出 → 張三表
? m.name &&輸出 →李四內
? age + age &&輸出 → 50
? age + m.age &&輸出 → 70
? m.age + m.age &&輸出 → 90
怎樣嚴格的避免出現混亂呢? 只有一條,養成習慣,使用變量的“全稱”就是 Tb.name 區別于m.name,對了,在Visual FoxPro 中,m. 是專屬的,不能用于其他, 例如,把一個表的別名命名為'm' 系統為報錯:Alias name is alread in use 。
內存變量與字段同名有什么用處呢?請參看scatter 和 gather 命令的幫助,由于篇幅太長我不在贅述了。scatter 和 gather 是一組非常方便的命令。