2

例如在这个字典中

如何更改名字、姓氏、街道、城市和电话字段的值?我试过这样:

dict for {id info} $employeeInfo {
    puts "Employee #[incr i]: $id"
    dict with info {
        puts "   Name: $forenames $surname"
        puts "   Address: $street, $city"
        puts "   Telephone: $phone"

        set [dict get $employeeInfo $id phone] 2341

        puts "   New Telephone: $phone"

    }
}

电话通过以下方式设置了新值:

set [dict get $employeeInfo $id phone] 12345

它不起作用。这样做的正确方法是什么?

4

2 回答 2

2

dict set命令可以设置嵌套字典的元素:

dict set employeeInfo $id phone 12345

请注意,封闭dict for循环不会看到变化;它(从概念上)在迭代之前获取字典的副本。

于 2012-08-20T10:56:50.777 回答
2

phone元素在元素之下,info所以:

dict set employeeInfo $info phone 12345

前提是您知道该info元素。

更新

with上下文中,你可以直接设置电话元素,试试看:

dict with info {
    ...
    dict set phone 12345
    ...
}
于 2012-08-21T16:59:46.777 回答