インテル® Quartus® Prime プロ・エディション ユーザーガイド: スクリプティング

ID 683432
日付 9/24/2018
Public
ドキュメント目次

1.13.8. プロシージャー

procコマンドを使用して、Tcl プロシージャー(他のスクリプト言語およびプログラミング言語ではサブルーチンまたは関数として知られています)を定義します。プロシージャーにおける変数の範囲は、プロシージャーに対してローカルです。プロシージャーが値を返す場合、 returnコマンドを使用してプロシージャーから値を返します。次の例では、 2 つの値を乗算してその結果を返すプロシージャーを定義します。

簡単なプロシージャー

proc multiply { x y } {
	set product [expr { $x * $y }]
	return $product
}

次の例は、コード内でmultiplyプロシージャーを使用する方法を示しています。プロシージャーは、スクリプトで呼び出す前に定義する必要があります。

プロシージャーの使用

proc multiply { x y } {
	set product [expr { $x * $y }]
	return $product
}
set a 1
set b 2
puts [multiply $a $b]

プロシージャーは、スクリプトの先頭付近で定義します。プロシージャー内のグローバル変数にアクセスする場合は、グローバル変数を使用する各プロシージャーでglobalコマンドを使用します。

グローバル変数へのアクセス

proc print_global_list_element { i } {
	global my_data
	puts "The list element at index $i is [lindex $my_data $i]"
}
set my_data { 1 2 3}
print_global_list_element 0