在tcl的dict中一次替换多个值

时间:2015-10-27 11:09:21

标签: dictionary tcl

我有一个包含几个元素的词典。我想一次替换几个值。

这就是它的工作原理:

 proc  myproc  {param} {


      set tempDict [dict replace $param "fd" "gfdgfdgf"]
      set tempDict2 [dict replace $tempDict "fds" "gfdgf"]
      set tempDict3 [dict replace $tempDict2 "fsdf" "gdfg7"]
      set tempDict4 [dict replace $tempDict3 "ztrzrt" "gdfgf"]

      puts "\n"
      puts $tempDict4

  }

这样做的正确方法是什么?我理解文档的方式,dict replace返回更改的dict的副本。但我的代码肯定不是正确的方法。

2 个答案:

答案 0 :(得分:1)

您可以附加多个键/值对。

% set d [ dict create user dinesh age 25 ]
user dinesh age 25
% set d [dict replace $d user Rajesh age 29]
user Rajesh age 29
% 

答案 1 :(得分:1)

查看dict merge命令。最后指定的字典的值优先:

% dict merge {a 1 b 2} {a 11 c 33}
a 11 b 2 c 33