PowerFX V1.0 運用説明書 - Microsoft(R) Windows(R) -
目次 索引 前ページ次ページ

第3章 TCLplus> 3.3 TCLplusスクリプトの文法

3.3.3 展開とグループ化

引数に変数や別のコマンドの実行結果を指定するには、特殊記号を使用して、コマンドの実行前に、展を行います。
また、引数にスペースを含む文字列を指定するにはグループを行います。

変数展

コマンド 引数1 $変数 引数3 ・・・

引数に変数を指定する場合は、直前にドル記号($)を付加します。
ドル記号($)が付加された変数は、格納された値に変換後、コマンドを実行します。


コマンド展

コマンド1 引数1 [コマンドA 引数a 引数b・・・] 引数3 ・・・

引数に別のコマンドの実行結果を指定する場合は、角括弧を使用します。
引数に角括弧で囲まれたコマンド文が存在する場合は、そのコマンド(コマンドA)を実行し、評価結果に置換します。その後、コマンド(コマンド1)を実行します。


円記号展

引数に特殊記号を通常の文字として指定するには、特殊記号の直前に円記号(\)を付加します。
行末に円記号(\)を記述すると、改行が無視されます。
また、円記号展開を使用すると、"表3.1 特殊な円記号展開"の特殊文(メタ文)を指定することができます。

[表3.1 特殊な円記号展開]

記述

展開結果

\a

警告音(0x07)

\b

バックスペース(0x08)

\f

フォームフィード(0x0C)

\n

改行(0x0A)

\r

復帰(0x0D)

\t

水平タブ(0x09)

\v

垂直タブ(0x0B)

\ddd

8進数表現 (dは0〜7を指定)

\xdd

16進数表現 (dは0〜9,a〜fを指定)

\\

円記号(0x5C)


グループ化

グループ化には2つの方法があります。

コマンド 引数1 "単語1 単語2 ・・・" 引数3 ・・・


コマンド 引数1 {単語1 単語2 ・・・} 引数3 ・・・

2つの方法には以下の違いがあります。

以下に具体例を示します。

リス

リストとはデータ形式の一つで、スペースで区切られた単語の集合です。

単語1 単語2 単語3 単語4 単語5 単語6・・・

TCLplusスクリプトと同様に、複数の単語を中括弧"{}"でグループ化できます。

単語1 単語2 {単語3 単語4 単語5} 単語6・・・

グループ化された単語は一つの単語として扱われます。

単語1 単語2 単語a 単語6 ・・・

また、グループ化された単語を取り出した場合、リスト形式のデータとして使用することができます。

単語3 単語4 単語5


以下にlindexコマンドを利用した具体例を示します。

<実行スクリプト>

#変数にリスト形式のデータを格納
set listdata {aaa bbb {ccc ddd eee} fff}
#lindexコマンドでリストからN番目の単語を出力
puts [lindex $listdata 0]
puts [lindex $listdata 1]
puts [lindex $listdata 2]
puts [lindex $listdata 3]
#グループ化されたリスト形式を取り出す
puts "----------------"
puts [lindex [lindex $listdata 2] 0]
puts [lindex [lindex $listdata 2] 1]
puts [lindex [lindex $listdata 2] 2]

<出力結果>

aaa
bbb
ccc ddd eee
fff
----------------
ccc
ddd
eee

目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005