标题:数组前面加个&符号是什么意思?
只看楼主
前锋真棒
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2012-2-27
结帖率:100%
已结贴  问题点数:10 回复次数:5 
数组前面加个&符号是什么意思?
如:
dime k(10)
.....
.....
repl all cj with &k(i)
请问
&k(i)什么意思?
搜索更多相关主题的帖子: all 
2012-03-06 14:55
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:10 
&:宏替换
替换变量
认真看书


[ 本帖最后由 sdta 于 2012-3-6 16:01 编辑 ]

坚守VFP最后的阵地
2012-03-06 15:04
前锋真棒
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2012-2-27
得分:0 
回复 2楼 sdta
真幽默啊
2012-03-06 15:13
前锋真棒
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2012-2-27
得分:0 
回复 2楼 sdta
可不可以理解为将变量的值替换为变量?
2012-03-06 15:17
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
VFP帮助文件中可以查到该命令的用法,共享上有
& 命令
示例 请参阅

执行宏替换。

语法

& MemVarName [.cExpression]

参数
& MemVarName

指定宏替换中引用的内存变量名或数组元素名。请不要加上用于区分内存变量与字段的前缀 M.,否则将产生语法错误。宏的长度不要超过 Visual FoxPro 中允许的最大语句长度。
在宏替换中,变量不能递归引用其自身。例如,下列语句将产生错误信息:

STORE '&gcX' TO gcX
? &gcX


出现在 DO WHILE、FOR 和 SCAN 中的宏替换语句只在循环开始时计算值,在后续的循环中则不再计算值。因此在循环内改变内存变量和数组元素的值对宏替换都无效。

.cExpression

句点分隔符 (.) 和 cExpression 选项可用来在宏后面追加额外的字符。使用 .cExpression 附加在宏后面的 cExpression 也可以是一个宏。

说明

宏替换把内存变量和数组元素中的内容当作原义字符串。当连字符 (&) 位于字符型内存变量或数组元素前面时,内存变量和数组元素的内容将替代宏引用。宏替代可用在任何接受原义字符串的命令和函数中。

提示
请尽可能使用名称表达式来取代宏替换。名称表达式与宏替换作用相似,但是,名称表达式限于传递作为名称的字符串。当命令或函数接受名称(文件名、窗口名、菜单名等)时,使用名称表达式的处理速度要明显快得多。有关名称表达式的详细内容,请参阅《开发指南》的第二章“语言概述”。

下列代码可以正确执行:

STORE 'customer' TO gcTableName
STORE 'company' TO gcTagName
USE &gcTableName ORDER &gcTagName


但是可以使用名称表达式代替:

USE (gcTableName) ORDER (gcTagName)


宏替换对于替换命令中的关键字是很有用的。在下面的示例中,把 TALK 设置保存在内存变量中,以便后面的程序能够恢复它。TALK 的原始设置使用宏替换恢复。


[ 本帖最后由 sdta 于 2012-3-6 16:01 编辑 ]

坚守VFP最后的阵地
2012-03-06 15:24
前锋真棒
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2012-2-27
得分:0 
谢谢提醒,对论坛功能不是很清楚,但对你孜孜不倦的精神表示敬仰
2012-03-06 15:33



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-362364-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.150182 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved