2

こんにちは、tcl でコレクションリストに変換する方法を知りたいです。私が得ている出力はコレクションの形式ですが、それをリストに変更したいと思います。

4

3 に答える 3

9

synopsys ツールを使用していると仮定します。

  set MyList [get_object_name $MyCollection]

上記により、コレクションがリストに変換されます。

于 2014-09-02T13:57:45.317 に答える
8

一般に、TCL を使用する特定のツール (たとえば、synopsys の Design コンパイラ) からデータをダンプ/クエリするときに、コレクションを使用します。これらのコレクションはリストのように見えますが、通常のリスト コマンドではアクセスできません。それらにアクセスするには、「foreach_in_collection」コマンドを使用する必要があり、get_object_name (または同等のコマンド) を使用する必要があり、get_object_name の出力のリスト (lappend) を作成する必要があります。このリストから、すべての TCL リスト操作を使用できます。

foreach_in_collection および get_object_name はツール固有のコマンドであり、TCL では見つけることができず、ツール インターフェイスを介してのみ機能します。

お役に立てれば。

于 2013-07-31T13:27:53.393 に答える
6

ユーザーは、Synopsys Tcl の「コレクション」について話している可能性があります。これは、Tcl API でオブジェクトのリストをサポートするために、Synopsys などの EDA ベンダーが提供する拡張機能です。

私はパーティーに遅れましたが、この単純な手順は、ほとんどの場合、あなたが望むものです. コレクションをオブジェクトの「名前」のリストにマッピングするため、このマッピングでは情報が失われることに注意してください。

proc col2list { col } {
   set list ""
   foreach_in_collection c $col { lappend list [get_object_name $c] }
   return $list
}
于 2014-09-16T18:42:13.027 に答える