第3話 通常処理

--------------------- 第3話 通常処理 --------------------------


はじまり、はじまり~。


<通常処理?なんか思いっきりつまらなさそう>
そう?

<だってサッキのを書き換えるだけでしょ?>
そうだよ。

<だから詰まんない!>
基本を知らないと、まずいよね。コレが基準になるからね。

<でも驚きも感動もないスクリプトなんて、クリープのない珈琲のような...>
スクリプトに何を求めている? しかも、いつの時代の話だ?年がわかるな。

<何のほんの数百年よ>
サバ読みの単位が...
いずれにしろ基本が分からんと話にならんな。
まあ知っているなら、グダグダ説明する必要もないか。 知ってるよね?

<ズエンズエンまったく知りましぇ~ん!>
オイ!

<冗談よ。open,fclose,抽出(pos,repeat,until)でしょ。>
どっかで聞いた様なフレーズ。まあ良いか。
通常ファイルは1行づつ処理を行う。ここでは複雑な方のブロックを先に抽出しない方を取り上げる。

<何で?>
多分この方法がヤヤコシイから一気に文字列を取り込んでいると思うからだ。

fp = FOPEN("TEST1.log")
f = 0
s = ""

for i = 1 to fget(fp, -1)
  line = fget(fp, i)
  ifb pos("XXXXXX", line)
    f = 1
    continue
  endif
  if f = 0 then continue
  s = s + trim(copy(line, pos(": ", line) + 2))
  if fget(fp, i + 1) = "" then break
next
fclose(fp)
msgbox(s)


<ふ~ん。アンタがやっても結構かかるのね?>
王道で、一回のループではこんなところかな。
やはり状況によって使い分けた方が良いね。欲を言えば、最初のデータをINIファイルかCSVにしとくべきだね。

<でもやっぱ、今回は詰まんないや! ボツにしとこかな?>
勝手にボツにすんな!

<じゃあ何か面白いネタでもあるの?>
少ししかない。

<それは何?>
ソレはスクリプトの中にある。

<ん?>
ヤヤコシイ理由が分からないと、次回も泥沼にハマルよ。

<おせ~て♪Linersさま>
調子の良い奴!

ブロック処理はブロックの先頭が見つかると、ソコから末尾まで新たにループを作るのが常套手段。
今回はフラグを立てて逃げているけれど、複数乱立すると面倒になる。

考え方として、ダメ出しを先に行う感覚だ。
<だったら常套手段を使えばいいじゃん!>

分かってないね。
<何が?>

コレが質問者が見てみたいスクリプトなのよ。
<なるほどぉ。そうだったのか。こうやって書いたのはワザとだったのね。>
気付くの遅いよ。

<初めにガツンと短いスクリプトでやっつけて置いて、後で痒いところに手の届くスクリプトで>
<「お嬢さん、お怪我はない?」的な手口ね。>
そ、そんなヤラセの演出目的ではないのですが。

<中々渋い演出じゃないの>
だからヤラセじゃないって!

 

----------------------------------------------------------------------

提供は: 決してヤラセではありません。 出演:Linersでした。

----------------------------------------------------------------------