List 要在tcl中列出的集合
您好,我想知道如何在tcl中将集合转换为列表。我得到的输出是集合的形式,但我想将其更改为列表 通常,当从某些使用TCL的工具(例如synopsys的Design compiler)转储/查询数据时,我们使用集合。这些集合看起来像列表,但对于普通的列表命令不可访问。要访问它们,您需要使用“foreach_in_collection”命令,需要使用get_object_name(或等效命令),并且需要构建get_object_name输出的列表(lappend)。在此列表中,您可以使用所有TCL列表操作 foreach_in_collection和get_object_name是特定于工具的命令,在TCL中找不到,它们只能通过工具接口运行List 要在tcl中列出的集合,list,collections,tcl,List,Collections,Tcl,您好,我想知道如何在tcl中将集合转换为列表。我得到的输出是集合的形式,但我想将其更改为列表 通常,当从某些使用TCL的工具(例如synopsys的Design compiler)转储/查询数据时,我们使用集合。这些集合看起来像列表,但对于普通的列表命令不可访问。要访问它们,您需要使用“foreach_in_collection”命令,需要使用get_object_name(或等效命令),并且需要构建get_object_name输出的列表(lappend)。在此列表中,您可以使用所有TCL列表
希望这能有所帮助。假设您正在使用某些synopsys工具:
set MyList [get_object_name $MyCollection]
上面应该会将您的集合转换为列表。用户可能在谈论Synopsys Tcl“集合”——Synopsys等EDA供应商提供的一个扩展,用于支持其Tcl API中的对象列表 我来晚了,但这个简单的程序是你大部分时间想要的。请注意,由于将集合映射到对象“名称”列表,因此此映射会丢失信息:
proc col2list { col } {
set list ""
foreach_in_collection c $col { lappend list [get_object_name $c] }
return $list
}
我不知道你在Tcl上下文中所说的“收集”是什么意思。请详细说明。也许,你可以展示你的输入(集合)是什么样子,以及你想要的输出(列表)是什么样子。也许他指的是字典或(TclX)键控列表?我想他指的是数组,但除非他告诉我们,否则我们无法回答这个问题。