|
![]() | |
|
ここ2~3日で、急に暖かくなり、それとともに急に花粉が大量に飛ぶようになり、頭も肩も重くて眩暈もして、昨日は午前9時半~11時半までぶっ倒れていたんですが、皆様いかがお過ごしでしょうか。無花粉杉を事業仕分けしたという政治家を叩きのめしたい気分ですね。 そんな頭が回らない日曜日でしたが、昨日、マウスふるふるとFR-Scriptの立ち位置、組込関数とコールバック関数の棲み分け…アイデンティティの1か月の変遷と確立について明日書くと宣言しましたので、今日はそれについて触れようかと思います。 もともとは、今年1月にR-Scriptをいじくるつくーるから分離・独立させたいという妄想を書いていたことがきっかけです。本来、この手のデカイ野望は妄想だけして終わることが多いのですが、2026念なら、この妄想をAIに吐露したらうまいことやってくれるんじゃないか?と思いました。 そんなわけで、バイブコ-ディング的な感じで実際にAIにコーディングをお願いしてみたのがこちらの記事になります。すさまじく長いプロンプトになりましたが、日本語で指示をし、lex, yaccを使ったスクリプトインタプリタを作ってもらっています。 AIに追加で修正してもらったり、人間による手直しが入ったりして、4日ほどで形になり、マウスふるふるに搭載しました。人間だけなら1か月以上はかかっていたであろう作業が4日で終わったので、なかなかの効率のよさです。 「いじくるつくーる」と「R-Script」は、ベッタベタに密結合していましたが、今回は、「マウスふるふる」と「FR-Scriptは徹底的に疎結合にすることを目指していましたので、FR-Scriptはライブラリ(libファイル)として独立させています。
そういうこともあり、このころは、スクリプトの基礎的な機能として、ウェイト・システム日時取得・乱数発生・文字列関連・環境変数・メッセージボックス表示のあたりを組込関数として定義し、他はコールバック関数として実装することにしました。具体的には、マウスを動かしたり、キーボード押し離しをシミュレートする機能は、マウスふるふる側に実装してコールバック関数として呼び出す形にしていました。 また、すぐに「マウスのお供」にもスクリプト利用機能を付けました。この辺りは、マウスふるふる発祥としつつも、分離独立させた以上は他のソフトでも使えるようにしたいという、将来展望的な部分に早期に手を付けた形です。
その後、半月ほど経ちまして、「マウスのお供」側で「マウスふるふる」的な機能をユーザの意思でスクリプト実装させることすらできる機能とか付けたら面白いんじゃないか?と思いついたこともありまして、マウスを動かしたり、キーボード押し離しをシミュレートする機能は、コールバック関数から組込関数へ移動することにしました。 FR-Scriptは、軽量版R-Script(Feather R-Script)という意図の他に、マウスふるふるの実行ファイル名 mousefr.exe からという意図を持たせていましたので、マウスふるふる由来の機能(マウスを動かしたり、キーボード押し離しをシミュレートする機能)は組込関数側にあった方が、FR-Scriptのアイデンティティ的にあるべき形なのかな?という考えも出てきました。 また、時を同じくして、このころに「.NET Framework 3.5がWindows 11の標準機能(標準設定のON/OFFで有効化/無効化できる)から消え、マイクロソフトのサーバからのスタンドアロンインストーラによる導入方式のみになる」という報道があり、.NET Framework対応で進めていた「キーボードシミュレータ.NET」についての立ち位置を見直し始めなければならないことも考え始めました。 そういえば、ついさっきFR-Scriptの本体機能側に移動させた「キーボード押し離しをシミュレートする機能」って、キーボードシミュレータの機能そのものだな、ということに気づきまして、キーボードシミュレータをネイティブ仕様に戻しつつ、FR-Scriptのライブラリを使えるようにすることにしました。 このあたりで、FR-Scriptのアイデンティティが固まってきた気がします。 このあと、FR-Scriptの本体機能へのFOR文の追加、条件演算子の追加、仮想キーコードを初期代入変数に追加していったり、各アプリケーション側のスクリプトファイル読み書き機能の充実をさせていったりしまして、昨日の正式版格上げとなりました。 考えていた機能の実装は一通り終わりました。ただ、作りながら、FORがあった方が良いと思って追加とか、初期代入変数に仮想キーコードの指定を追加とかあったりしましたんで、そんな感じで思いつきで機能追加をしていくことになるかと思います。 また、14年以上前にR-Script2を作るならと妄想していたネタ(すっかり忘れていた)もあったので、そういったものを取り込む…のも、あるかもしれないですね。 昨日の記事で上げたスクリーンショット
ここで書いているスクリプトを見るだけでも、もしこれを複雑化させて行ったとしたら
とか思いつきますし。 まぁ、今のフロー制御の中にサブプロシージャコール/ラベル/ジャンプを組み込むのはちょっとツラそうなので、パッションがでてきたら、また生成AIと相談しつつ、作ってみようかと思います。 目次の表示: ブログではないので、コメント機能とトラックバック機能は提供していません。ご質問・ご意見等はメール、フィードバックまたはX等からお願いします。いただいたご質問・ご意見などは、この「管理人のひとこと」の記事に追加、あるいは新規の記事にする形で一部または全文をそのまま、あるいは加工させていただいた上で、ご紹介させていただく場合があります。 当サイトでは掲載内容による不具合等に関する責任を持ちません。また、内容の正確性についての保証もありませんので、情報をご利用の際は、利用者の自己責任で確認をお願いします。 |
- 最近の更新 - |
|
|
3484387 (+0101)[+0889] Copyright© 2010-2026 INASOFT | ||