2

たとえば、このdictでは

フィールド名、姓、番地、都市、電話番号の値を変更するにはどうすればよいですか? 私はこの方法を試しました:

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

要素は要素のphone下にあるinfoので、次のようになります。

dict set employeeInfo $info phone 12345

infoあなたが要素を知っていることを提供します。

アップデート

コンテキストではwith、電話要素を直接設定して、試してみることができます。

dict with info {
    ...
    dict set phone 12345
    ...
}
于 2012-08-21T16:59:46.777 に答える
2

このdict setコマンドは、ネストされた辞書の要素を設定できます。

dict set employeeInfo $id phone 12345

囲んでいるdict forループには変更が反映されないことに注意してください。(概念的には) 反復処理の前に辞書のコピーを取得します。

于 2012-08-20T10:56:50.777 に答える