compact()
がとるパラメータの数は可変です。 各パラメータは、変数名を値とする文字列か、変数名の配列のどちらかとする
ことができます。配列は、変数名を値とする別の配列を持つことができます。
compact()
はこれを再帰的に処理します。
各引数について、
compact()
は現在のシンボルテーブル においてその名前を有する変数を探し、変数名がキー、変数の値がそのキー
に関する値となるように追加します。 端的に言うと、
extract()
の逆の動作をします。 追加された全ての変数を値とする出力配列を返します。
設定されていない全ての文字列は、単にスキップされます。
extract()
も参照下さい。