术语 variable substitution 的译法
Perl 正则表达式中可以使用变量,就和在双引号中可以插入变量一样。比如:
在字符串中插入变量
print “$myPattern is found in $myTestString”;
在模式中插入变量
/${myPattern}ll/;(一对正斜杠是模式的默认定界符)
《BRE》中把在模式中插入的变量称为 variable substitution,开始我采用的译法是“变量置入”,后来想改为“置入变量”。比如:“使用置入变量匹配”。但在网上没有搜索到“变量置入”或“置入变量”这样的译法,倒是有人使用“变量替换”--也就是 variable substitution 的直译。虽然使用“变量替换”可以同网上已有的译法一致,但我还是觉得有点不妥。理由如下:
我们常说“使用……”,“使用”后面的省略号应该是名词,以构成动名词结构。而“变量替换”是动名词倒置,“替换”虽具有名词性质,但与“变量”组合起来意思显示不够明确--因为容易让人理解为“变量替换过程”。而事实上,使用的是变量,而不是使用替换过程。
所以,我觉得应该在“置入变量”、“替换变量”甚至“插入变量”中选择一个。这样当在书中其他内容中提及“使用置入变量”、“使用替换变量”甚至“使用插入变量”时,意思更明确,不致混淆。