我似乎在让Jim和Bob进入名为chicken的列表中时遇到问题。我知道在另一个包含值列表的字典中包含一个字典是可能的。我究竟做错了什么?
puts [dict set farm tools hoe]
puts [dict lappend farm tools pitchfork]
puts [dict set farm animal cow Marry]
puts [dict set farm animal chicken Jim]
puts [dict lappend farm animal chicken Bob]
puts "chicken list: [dict get $farm animal chicken]"
puts "tool list: [dict get $farm tools]"
Run Code Online (Sandbox Code Playgroud)
输出量
tools hoe
tools {hoe pitchfork}
tools {hoe pitchfork} animal {cow Marry}
tools {hoe pitchfork} animal {cow Marry chicken Jim}
tools {hoe pitchfork} animal {cow Marry chicken Jim chicken Bob}
chicken list: Bob
tool list: hoe pitchfork
Run Code Online (Sandbox Code Playgroud)
如您所见,工具列表起作用了。但是鸡肉清单没有用。我构建代码的方式是否存在问题?我正在使用dict lappend或dict出错?一切都会帮助您对此有所了解,谢谢。
于是我去了tcl聊天室,他们告诉我:
如手册页中所述,dict 将 Chicken 和 Bob 都添加到 dict element Animal 中的列表中。
您不能直接附加到字典更深的列表中。
一种方法是:
dict with farm {
dict lappend animal chicken Jim Bob
}
Run Code Online (Sandbox Code Playgroud)
所以是的,我的错。:P 所有功劳都归功于 tcl 聊天室中的“schelte”。
额外: dict lappend 如此工作的原因来自 Donal Fellows 本人在上面的评论中,谢谢 Donal
归档时间: |
|
查看次数: |
1745 次 |
最近记录: |