<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tcl/Tk入門 | ITドカタ</title>
	<atom:link href="https://blog.it-see.net/it-dokata/tag/tcl-tk-beginners/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.it-see.net/it-dokata</link>
	<description>ICT関連の役立つかもしれない情報を発信するブログ。</description>
	<lastBuildDate>Sat, 22 Jun 2019 09:47:57 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.8</generator>

<image>
	<url>https://blog.it-see.net/it-dokata/wp-docs/wp-content/uploads/2019/05/cropped-job_it_dokata2-32x32.png</url>
	<title>Tcl/Tk入門 | ITドカタ</title>
	<link>https://blog.it-see.net/it-dokata</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Tclの基本的な文法と文法規則ついて</title>
		<link>https://blog.it-see.net/it-dokata/tcl-tk/syntax-rule/</link>
		
		<dc:creator><![CDATA[いっしー]]></dc:creator>
		<pubDate>Thu, 23 May 2019 10:20:12 +0000</pubDate>
				<category><![CDATA[Tcl/Tk]]></category>
		<category><![CDATA[Tcl/Tk入門]]></category>
		<guid isPermaLink="false">https://blog.it-see.net/it-dokata/?p=291</guid>

					<description><![CDATA[この記事では、 Tclの基本的な文法と文法規則について紹介します。 目次 Tclの基本的な文法 コメント変数について置換について変数名に使用する文字についてグループ化について Tclの基本的な文法 Tclの基本的な文法は [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>この記事では、 Tclの基本的な文法と文法規則について紹介します。</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">Tclの基本的な文法 </a></li><li><a href="#toc2" tabindex="0">コメント</a></li><li><a href="#toc3" tabindex="0">変数について</a></li><li><a href="#toc4" tabindex="0">置換について</a></li><li><a href="#toc5" tabindex="0">変数名に使用する文字について</a></li><li><a href="#toc6" tabindex="0">グループ化について</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">Tclの基本的な文法 </span></h2>



<p>Tclの基本的な文法は、スペースで区切られたリスト構造をもつコマンドで構成されています。条件分岐や繰り返しなどの制御構造もコマンドとして実装されています。</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>[基本的な文法]</p>


<p style="padding-left: 20px;"><strong><span class="fz-20px">コマンド名 引数１ 引数２ 引数３ &#8230;</span></strong></p>


<ul class="wp-block-list"><li>空白文字はコマンド名やその引数の区切り文字として扱われます。</li><li>全角スペースは区切り文字として扱われない。</li><li>改行やセミコロン「;」はコマンドの終端として扱われます。</li></ul>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>公式サイトではコマンドの書式を以下のような表現で記述してます。</p>


<p style="padding-left: 20px;"><strong>puts ?-nonewline? ?channelID? string</strong></p>


<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>「?」で囲まれた引数は省略可能です。</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p> [実行例] 画面に文字を出力する。</p>


<pre class="tcl"><code>% puts stdout {hello, world!}
hello, world!</code></pre>


<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>実行例のputsコマンドの動作は以下のようになります。</p>



<ol class="wp-block-list"><li>putsコマンドに標準チャネルの識別子「stdout」と文字列「hello, world!」の２つの引数が渡されます。</li><li>引数で渡された文字列の末尾に「改行」を付加して、指定されたchannelID(例ではstdout)へ出力します。 </li></ol>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-cocoon-blocks-label-box-1 label-box lb-cyan block-box"><div class="label-box-label block-box-label fab-pencil"><span class="label-box-label-text block-box-label-text">メモ</span></div><div class="label-box-content">
<ul class="wp-block-list"><li>「{ }」または「&#8221; &#8220;」は複数の語を１つの引数としてまとめます。 「&#8221; &#8220;」で囲むと置換がおこなわれます。　置換については本記事の「置換について」の項目で説明します。 </li><li>引数(ひきすう)とは、コマンドに渡す数値や文字列などの値のことです。</li><li> 「stdout」 は標準出力チャネルのことで、通常はディスプレイ(画面)と接続されています。入出力チャネルについては別記事で説明します。</li></ul>
</div></div>



<h2 class="wp-block-heading"><span id="toc2">コメント</span></h2>



<p>「#」で始まる行はコメントとして扱われます。 </p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>[コメントの記述例]</p>


<pre class="tcl"><code># hello, world を表示するプログラム

#------------------------------------------------
# xxxxの処理
#------------------------------------------------

# もしも1行が長いコメントを記載する場合は \
バックスラッシュを使って継続する; ここもコメントである。

set speed 30    ;# 速度
set time 60     ;# 時間</code></pre>


<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>[コメントのルール]</p>



<ul class="wp-block-list"><li>「#」で始まる行はその行の改行までをコメントとして扱います。</li><li>コメント中のセミコロンは無視されます。</li><li>コメント行を継続させたい場合は末尾にバックスラッシュを入れる。</li><li>コマンドの末尾にコメントを記述するには、セミコロンを用いて直前のコマンドを区切っておく必要があります。</li></ul>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-cocoon-blocks-label-box-1 label-box lb-cyan block-box"><div class="label-box-label block-box-label fab-pencil"><span class="label-box-label-text block-box-label-text">メモ</span></div><div class="label-box-content">
<p>「＼(バックスラッシュ)」はASCIIコード：0x5Cになります。ASCIIコード：0x5Cは、日本語環境では「￥(円記号)」が割り当てられています。</p>



<p>[参考]</p>




<a rel="noopener" href="https://ja.wikipedia.org/wiki/%E3%83%90%E3%83%83%E3%82%AF%E3%82%B9%E3%83%A9%E3%83%83%E3%82%B7%E3%83%A5" title="バックスラッシュ - Wikipedia" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fja.wikipedia.org%2Fwiki%2F%25E3%2583%2590%25E3%2583%2583%25E3%2582%25AF%25E3%2582%25B9%25E3%2583%25A9%25E3%2583%2583%25E3%2582%25B7%25E3%2583%25A5?w=160&#038;h=107" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="107" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">バックスラッシュ - Wikipedia</div><div class="blogcard-snippet external-blogcard-snippet"></div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=https://ja.wikipedia.org/wiki/%E3%83%90%E3%83%83%E3%82%AF%E3%82%B9%E3%83%A9%E3%83%83%E3%82%B7%E3%83%A5" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">ja.wikipedia.org</div></div></div></div></a>
</div></div>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading"><span id="toc3">変数について</span></h2>



<p>プログラミングにおいて、変数(variable)とは値を入れておく箱のようなものです。</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>プログラムで扱う文字列や数値などのデータを変数に記憶しておき、必要に応じてデータの参照や書き換えをします。Tclで変数を扱うにはsetコマンドを使います。</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-image"><figure class="aligncenter"><img fetchpriority="high" decoding="async" width="794" height="559" src="https://blog.it-see.net/it-dokata/wp-docs/wp-content/uploads/2019/05/変数のイメージ１.png" alt="" class="wp-image-308" srcset="https://blog.it-see.net/it-dokata/wp-docs/wp-content/uploads/2019/05/変数のイメージ１.png 794w, https://blog.it-see.net/it-dokata/wp-docs/wp-content/uploads/2019/05/変数のイメージ１-300x211.png 300w, https://blog.it-see.net/it-dokata/wp-docs/wp-content/uploads/2019/05/変数のイメージ１-768x541.png 768w" sizes="(max-width: 794px) 100vw, 794px" /></figure></div>



<p>コンピューターで扱うことができるデータは、文字、整数、浮動小数点数など色々ありますが、<span class="marker-under">Tclでは全て文字列として変数に格納されます。</span><br><br>数値計算を行う場合は、読み出した変数データを自動的に数値へ変換して数値として使われます。</p>



<p>[書式]</p>


<p style="padding-left: 20px;"><strong>set varName ?value?</strong></p>
<p style="padding-left: 20px;">varName：変数名<br>value 　 ：値</p>


<p>変数名の長さは任意で、大文字、小文字は区別されます。変数名に使用できる文字の種類に制約はありません。</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>setコマンドの使用例をいくつか紹介します。</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>[使用例]</p>


<pre class="tcl"><code>% set data 5  ----(1)
5
% set data    ----(2)
5
% set DATA    ----(3)
can not read "DATA": no such variable
% set x $data  ----(4)
5
% set Data {Hello, World!}   ----(5)
Hello, World!
% set でーた {こんにちわ}    ----(6)
こんにちわ<br>% unset x                    ----(7)<br>% set x<br>can't read "x": no such variable</code></pre>
<p>[説明]<br>(1)変数名：data に値：5 を代入する。</p>
<p>(2)setコマンドに変数名だけ渡すと、変数の値を返します。</p>
<p>(3)使われていない変数名を渡すとエラーになります。</p>
<p>(4)$記号による参照</p>
<p style="padding-left: 40px;"><span class="marker-under">変数名の頭に$記号を付けると、その変数に保持している値に置き換えます。</span>これを変数置換といいます。例では、変数 x に変数dataの保持する値を代入しています。</p>
<p style="padding-left: 40px;">これは以下のように $data を変数dataの保持する値「5」に置き換えたものと考えることができます。</p>
<p style="padding-left: 40px;">　　<strong>set x 5</strong></p>
<p>(5)空白文字を含むデーターは「{}」や「&#8221;&#8221;」で囲みます。</p>
<p>(6)Tcl8.1以降では日本語の変数名も使用できます。</p>
<p style="padding-left: 40px;">ただし、変数名に英数字とアンダースコア以外の文字を使用する場合、変数置換する時に明示的に「{}」で囲む必要があります。</p>
<p>(7)変数の削除</p>
<p style="padding-left: 40px;">使わなくなった変数はunsetコマンドで削除してメモリを開放できます。</p>


<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading"><span id="toc4">置換について</span></h2>



<p>Tclには文字列の中に特別な記号を挿入することにより、別の値に置き換える事ができる機能が備わっています。その機能とは、<strong>変数置換</strong>、<strong>コマンド置換</strong>、<strong>バックスラッシュ置換</strong>になります。</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>


<p><strong>変数置換</strong></p>
<p style="padding-left: 40px;">変数名の頭に「$」記号を付けると、その変数で保持している値に置き換えます。</p>
<p><strong>コマンド置換</strong></p>
<p style="padding-left: 40px;">コマンドを「[]」で囲むと、そのコマンドの実行結果に置き換えます。</p>
<p><strong>バックスラッシュ置換</strong></p>
<p style="padding-left: 40px;">「$」記号などの特別な文字の頭に「\」記号を付けることにより、普通の文字として扱うことができます。また、「\」記号に続く文字と合わせて特殊文字として扱います。</p>
<p style="padding-left: 40px;">例. <br>「\a」はベル(ビープ音)を鳴らす。<br>「\n」は改行。<br>「\x<em>hh</em>」は16進コード</p>
<p style="padding-left: 40px;">「\」記号は、複数行にまたがるような、長いコマンドにおいて、行の継続を指定する為にも使われます。</p>
<p style="padding-left: 40px;">[参考：その他のバックスラッシュシーケンス]</p>



<a rel="noopener" href="http://www.tcl.tk/man/tcl8.6/TclCmd/Tcl.htm#M16" title="Tcl manual page - Tcl Built-In Commands" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/http%3A%2F%2Fwww.tcl.tk%2Fman%2Ftcl8.6%2FTclCmd%2FTcl.htm%23M16?w=160&#038;h=107" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="107" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">Tcl manual page - Tcl Built-In Commands</div><div class="blogcard-snippet external-blogcard-snippet"></div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=http://www.tcl.tk/man/tcl8.6/TclCmd/Tcl.htm#M16" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">www.tcl.tk</div></div></div></div></a>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-cocoon-blocks-label-box-1 label-box lb-cyan block-box"><div class="label-box-label block-box-label fab-pencil"><span class="label-box-label-text block-box-label-text">メモ</span></div><div class="label-box-content">
<p> Tclではブロックを表す記号として「{ }」、「&#8221; &#8220;」がありますが、「&#8221; &#8220;」で囲むと、変数置換、コマンド置換、バックスラッシュ置換のいずれも行われます。「{ }」で囲むといずれの置換も行われません。 ブロック記号で囲むことをグループ化ともいう。</p>
</div></div>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">置換の基本的な使い方</h4>



<p> 変数置換、コマンド置換、バックスラッシュ置換 の基本的な使い方の例です。</p>



<p>[使用例]</p>


<pre class="tcl"><code>% set x 10
10
% set result [expr $x + 20]
30<br>
% puts "$x + 20 を計算すると？\n結果：$result です。"    ----(1)
10 + 20 を計算すると？
結果：30 です。<br>
% puts {$x + 20 を計算すると？\n結果：$result です。}    ----(2)
$x + 20 を計算すると？\n結果：$result です。<br><br>% puts [expr $x * [expr 2 + 3]]     ----(3)<br>50</code></pre>


<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<div class="wp-block-cocoon-blocks-label-box-1 label-box lb-cyan block-box"><div class="label-box-label block-box-label fab-pencil"><span class="label-box-label-text block-box-label-text">メモ</span></div><div class="label-box-content">
<p>上の使用例の補足説明をします。</p>



<ul class="wp-block-list"><li>exprコマンドは演算をするコマンドです。</li><li>文字列中に「\n」があるので改行が行われて２行で表示しています。</li><li>「{}」で囲むと置換しません。</li><li><span class="marker-under">「[ ]」で囲まれたコマンドのみで引数が構成されている場合、それを明示的にグループ化する(「&#8221; &#8220;」で囲む)必要はありません。</span></li><li>コマンド置換は、入れ子になったコマンドを作ることもできます。</li></ul>



<p></p>
</div></div>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">変数の値に変数名を代入する</h4>



<p>変数の値に変数名をセットすることで、別の変数の値を間接的に参照することができます。</p>



<p>[使用例]</p>


<pre class="tcl"><code>% set data {hello, world!}
hello, world!
% set x data
data
% set x
data
% set $x        ----(1)
hello, world!<br>% set [set x]   ----(2)<br>hello, world!</code></pre>


<p>[説明]</p>



<p>(1)変数名を変数置換で置き換える。</p>



<ol class="wp-block-list"><li>$xがdataに置換えられる。</li><li>setコマンドが変数dataの保持する値「hello, world!」を返す。</li></ol>



<p>(2)変数名をコマンド置換で置き換える</p>


<p style="padding-left: 40px;">(1)の「set $x」は、コマンド置換を使って下のように書き換えることもできます。<br>　　　set [set x]</p>


<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">「$」記号などの特殊文字を値に含む場合</h4>



<p>「$」記号などの特殊文字を値に含めるには、バックスラッシュ置換を使います。</p>



<p>[使用例]</p>


<pre class="tcl"><code>% set dollar \$300    ----(1)
$300
% set x $dollar       ----(2)
$300

% set c \x41         -----(3)
A

% set sum [expr 1 + 2 + 3 + 4 + 5 + \
    6 + 7 + 8 + 9 + 10]    -----(4)
55</code></pre>


<p>[説明]</p>


<p>(1)</p>
<p style="padding-left: 40px;">変数dollarの値に 「$記号」が含まれます。</p>
<p>(2)</p>
<p style="padding-left: 40px;">値としての$記号(「$300」の$記号)は、変数xへの代入における置換($記号による変数置換)に対して影響を与えません。<span class="marker-under">置換などの解釈が行われるのは、一度に1段階だけであり、置換が行われた結果に対して、さらに変換を行うようなことはしません。</span></p>
<p>(3)</p>
<p style="padding-left: 40px;">ASCIIコード0x41は英字の「A」になります。\x41は「A」に変換されて表示します。</p>
<p>(4)</p>
<p style="padding-left: 40px;">行末にバックスラッシュを用いると、そのバックスラッシュと改行文字、さらに次の行の最初の非空白文字までを１つの空白文字に置き換えます。もしも行末にバックスラッシュがないと exprコマンドは+記号の後の改行文字で区切られてしまい、エラーになります。</p>


<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading"><span id="toc5">変数名に使用する文字について</span></h2>



<p>変数名に使用する文字の種類に制約はありませんが、Tclインタプリタでは、文字列中に変数置換を埋め込むために、いくつかルールが設けられています。</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">変数名の区切りについて</h4>



<p><span class="marker-under">Tclインタプリタは、変数置換する際に、英数字とアンダースコア以外の文字が来ると区切りとみなします。</span></p>



<p>[使用例]</p>


<pre class="tcl"><code>% set fname ReadMe
ReadMe
% set doc $fname.txt    ----(1)
ReadMe.txt

% set b BBB
BBB
% set abc aaa$bccc      ----(2)
can not read "bccc": no such variable
% set abc aaa${b}ccc    ----(3)
aaaBBBccc</code></pre>


<p>[説明]</p>


<p>(1)</p>
<p style="padding-left: 40px;">$fname.txtは、変数fnameの保持する値に .txtを付加した文字列になります。「.」文字の手前までを変数名とみなします。</p>
<p>(2)</p>
<p style="padding-left: 40px;">変数名がbcccと認識される為エラーになります。</p>
<p>(3)</p>
<p style="padding-left: 40px;"><span class="marker-under">空白文字や英数字とアンダースコア以外の文字で区切ることができない場合は、波括弧「{}」で明示的に変数名を区切ります。</span></p>


<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h4 class="wp-block-heading">変数名に英数字とアンダースコア以外の文字を含める場合</h4>



<p>変数名に「.」などの文字を含める場合は、<span class="marker-under">変数置換する時に、波括弧「{}」で明示的に区切る必要があります。</span></p>



<p>[使用例]</p>


<pre class="tcl" style="padding-left: 40px;"><code>% set 1.txt hello
hello
% set doc ${1.txt}  ----(1)
hello

% set $1.txt        ----(2)
can not read "1": no such variable

% set ${1.txt}      ----(3)
can not read "hello": no such variable

% set doc $1.txt    ----(4)
can not read "1": no such variable

% set でーた {こんにちは} ----(5)
こんにちは
% set jpn ${でーた}
こんにちは</code></pre>


<p>[説明]</p>


<p>(1)</p>
<p style="padding-left: 40px;">変数名 1.txt が保持する値 hello に置換えられて、変数名 docに代入されます。(2),(3),(4)は、よくある間違いです。</p>
<p>(5)</p>
<p style="padding-left: 40px;">日本語の変数名を使用した場合も変数置換する時に、明示的に区切る必要があります。</p>


<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading"><span id="toc6">グループ化について</span></h2>



<p>波括弧(brace)「{ }」とダブルクォート「&#8221; &#8220;」は複数の語を１つの引数としてまとめる場合に使用します。それぞれの違いはダブルクォートによるグループ化は置換が行われるのに対して波括弧によるグループ化は置換が行われません。</p>



<p>置換はコマンド置換、変数置換、バックスラッシュ置換の３つすべてに対して適用されます。</p>



<p>グループ化の基本的な使い方は、これまでの項目の中で紹介済みなのでグループ化を行う場合の注意点を説明します。</p>



<div style="height:20px" aria-hidden="true" class="wp-block-spacer"></div>



<p>[使用例]</p>


<pre class="tcl"><code>% set s stdout
stdout

% puts ${s}{hello!}  ---(1)
stdout{hello!}
% puts ${s} {hello!}
hello!

% set x abc
abc

% set y "aaa {$x} bbb"  ---(2)
aaa {abc} bbb

---(3)---
% puts {
hello!
hello!
hello!
}

hello!
hello!
hello!</code></pre>


<p>[説明]</p>


<p>(1)</p>
<p style="padding-left: 40px;"><span class="marker-under">「{ }」や「&#8221; &#8220;」はグループ化しか行いません。</span>引数の区切りに空白を入れ忘れた場合、エラーになった意図した結果にならない。例では引数の間の空白を忘れている。</p>
<p>(2)</p>
<p style="padding-left: 40px;"><span class="marker-under">「&#8221; &#8220;」を使用してグループ化を行う場合、「{ }」による特別な効果は失われます。</span>例では{}で囲まれていても置換されています。</p>
<p>(3)</p>
<p style="padding-left: 40px;">Tclインタプリタは、コマンドと同じ行の末尾に開き波括弧「{」があると改行文字を無視し、対応する閉じ波括弧「}」が見つかるまでを１つのグループとします。もし<span class="marker-under">開き波括弧を次の行に置くのであれば、バックスラッシュを使って改行文字をクオートする必要があります。</span></p>
<p></p>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
