Top  上へ  目次


 スクリプトのテコ入れ

 まずはVer.12系へ、順次実装していく予定の機能の話です。
 まずは、すげぇ地味で、何じゃこりゃ?という内容がしかありません。

四則演算

 現行のスクリプトでも、四則演算が「一応」可能です。
 例えば、$hoge$に5を足す場合はこんな記述になるわけです。
$hoge$ = + 5

 これ、2項しか使えないとか、スクリプト言語と名乗っちゃダメでしょう。
 お粗末と言わざるをえません。

 C言語風に書くと
hoge = (a + b) / (c + 1);
 こんな記述が、

var hoge = a
hoge = + b
var tmp2 = c
tmp2 = + 1
hoge = / tmp2

 とまぁ、何じゃこりゃ!やってらんねぇよ!とぶち切れて良いと思います。
 見辛いし、テンポラリを大量に使うのは面倒で仕方ありません。
 もともと「スクリプト言語」ではなく、置換マクロから発展した「スクリプト定義」という流れなので、こんなダメな実装になっていたのですが、まぁ実装しているとき全く疑問に思わなかったのはセンスの欠片も無いなと思います。

 というわけで、ごく当たり前な数式の記述が、当たり前にできるように代入文の仕様を拡張します。
 変数、a,b,cの中身がいずれも数字である必要がありますが、こんな風に書けるようにしたいと思います。
var hoge = (a + b) / (c + 1)

 ちなみに日付を
var hoge = 2019/10/02
 なんて書いちゃうと、計算して100.95が格納されてしまうのでご注意ください。
 推奨は、こんな感じですかね。
var hoge = 2019年10月02日



16進数の数字の扱い

 現状、16進数の数字は文字列中にゴミがあってもダメですし、数字1つしか展開できませんでした。
×var hoge = 0xff 0xff
×var hoge = 0xffあああ
○var hoge = 0xff
※hogeに「255」を格納
 こんな感じです。

var hoge = 0xffあああ0xff
※hogeに「255あああ255」を格納
と言う感じに、文字列内に複数の埋め込みができるようにします。

ナニができるようになるのかと言うと、上の四則演算に絡むのですが、
hoge = 0xff + 0x12
これをやりたいがための対処です。



拡張子連動(1つの拡張子に複数のアプリを関連付ける場合)

 「エディタで開く」などの拡張子連動で使われているExRunの指定で、コマンドのパスを指定する際に|で区切ることで、1つの拡張子に複数のアプリを関連付けることができてます。
 こんな感じのポップアップメニューが表示されて、ファイルを開く直前に選択できるんですね。


 ただ、大量にファイルを選択した場合、今、どのファイルを開こうとしてるんだ?というのが分からなくなってしまうという問題がありました。
 複数の種類の拡張子をまとめて処理しようとしたら、もはや見分けが付きません。
 というわけで、ポップアップメニューではなく、Vista以降用に作られたCTaskDialogと言うものを使って、もう少し情報を補足するようにします。

 欠点としてはメニューコントロールと違って、先頭文字でショートカットでジャンプできないことですが、見た目こっちの方が良さげなので時代の推移と言うことで・・・。