shinya-sawai@... (Y さ) さん wrote.
> あぁ、なるほど。ならいっそ、
> <タグ>{
> アクション
> }
> を「閉じタグが現れた時にアクションが動く」という解釈にして、
> <行> {
> $sum = $sum + $price * $num;
> }
> で良いですね。
なるほどね。AWK のように 1 行読んではスクリプトが動く、ではないので、そ
のパターン、アクションをどう実装するのがいいか、よく考えたいと思います。
私の当初の案だと
<tagname> {
アクション
}
でアクション部分は $_ にタグの内容を入れた状態で渡され、処理が終ると、
そのタグ内から出て文書の後続部分に向かうと考えていましたが、1 つずつ
タグを後続部分にずらしていくほうがいいのか、と思い出しました。
<a>
<b>...</b>
</a>
<c>
...
</c>
の文書の場合、当初案では
<a>...</a> 処理後 <c>...</c> 処理で終了。
だったのですが、Y ささんのご意見で、
<a>...</a>, <b>...</b>, <c>...</c> の順に処理、各アクションは </b> など
の終了タグ出現時に行われる。
のほうがいいかも、と思い出しました。どちらにせよ、<a></a> 内の <b></b>
も処理するか、<a></a> 内の他タグは処理しないか、程度のことはオプションで
選べるようにしたいですが……あまりやりすぎると XSLT などのようにややこし
くなるので、シンプルということは心がけたいです。
--
本田博通(閑舎)
テキストとスクリプトの http://rakunet.org/TSNET/