如何将用户名与其电子邮件地址连接(包含其用户名)

时间:2018-03-02 18:25:25

标签: string tcl

我有一个用户“rbrown”和他的电子邮件地址变量“rbrownEmail”

我有一个包含“rbrown”的变量,但是我想连接用户名变量$ User(rbrown),以便它将Email添加到末尾,以便它等于变量“rbrownEmail”

有点像:

eval

将转换为:

puts "Sending email to the following $User at email address: $($User+Email)

(变量包含他的电子邮件地址)

如果这是有道理的,我只是不知道如何在TCL中做到这一点

1 个答案:

答案 0 :(得分:1)

% set User rbrown
rbrown
% set rbrownEmail foo@bar.baz
foo@bar.baz
% puts "Sending email to the following $User at email address: [set ${User}Email]"
Sending email to the following rbrown at email address: foo@bar.baz

您需要在一个步骤(${User}Email)中构造变量名称,并在第二步([set ...])中获取变量的值。 User周围的大括号是必要的,以便在名称结束和字符串Email开始时清楚显示。

如果您可以控制变量的命名方式,那么保存一段基本上由arraydict中的变量值编制索引的数据就更容易了(两者都是是关联结构)。

例如:

set User rbrown
set email($User) foo@bar.baz

puts "Sending email to the following $User at email address: $email($User)"

文档: arraydict