従来の
tclsh
シェルの場合、ユーザー入力は通常 stdin
チャネルを使用して取り込まれます。次に例を示します。gets stdin answer
Vivado IDE では、Tcl コードを異なる環境で実行できますが、stdin
チャネルとは互換性のないことがほとんどです。スクリプトがローカル シェルの Vivado Tcl モードでのみ実行されるとわかっている場合を除き、ユーザー入力を取得するのに stdin
は使用できません。
ユーザー入力は、通常スクリプトのビヘイビアーを変更したり、パラメーターの値を設定したりするために使用されます。この際、stdin からの情報取得は信頼できず、エラー (タイプ ミス、間違った値など) になる可能性が高くなります。
スクリプトにカスタム値を提供する際には、Tcl スクリプトから簡単に読み出すことのできるコンフィギュレーション ファイルを使用することをお勧めします。コンフィギュレーション ファイルは、Tcl 変数のリストと同じように単純にでき、次のコマンドを使用してスクリプトにインポートできます。
source <configuration_file>
このようなコンフィギュレーション ファイルは、Vivado IDE をバッチ モードで実行している場合か、リモート マシン (LSF など) を使用している場合に使用できます。