INASOFT 管理人のひとこと


フリーソフトダウンロードサイト「INASOFT」の管理人 矢吹拓也 が日々の「ひとこと」を語るページです。
2021年1月1日より、旧ブログ(blog.inasoft.org)からお引越ししました。
・INASOFT Webサイト: https://www.inasoft.org/
・管理人のふたこと(長文記事/寄稿文): https://www.inasoft.org/talk/
2022年7月下旬より再び本業多忙化してきているため、更新頻度は落ちます。 [2022/7/24 19:32]

目次 | ←前へ / 2026-03-22 00:00

■昨日のキーボードシミュレータ/マウスふるふる/マウスのお供 各ベータ版更新内容の詳細…やっぱりスクリプトにGOTOを

2026年 3月22日(日) 0:00:00



RSSRSS配信中
https://www.inasoft.org/



前回のFR-Script更新から一週間、前身であるR-Scriptからの仕様の取り込みを徐々に進めていたわけですが、そういえばGOTO文と配列初期化関数をすっかり忘れていたので、それの機能追加を行いました。

R-Scriptの頃は、スコープの概念が完全に存在していなかったため、GOTO飛び先のラベルサーチは、スクリプト全体をフラットに行っておりました。

一方で、FR-Scriptでは、(GOSUBの代替として)ユーザー定義関数を作れるようになっているので、その点においてスコープの概念が存在します。まぁ、細かいことは考えずに、GeminiにGOTOの実装を相談してみましたところ、throw(例外送出)を利用して、良い感じに、自分とその呼び出し元スコープのみに対してだけ飛べるGOTOの実装方法を教えてもらえました。

後は、そこに対して、R-Script時代に存在していた「飛び先ラベルを文字列で与える」機能を手動で追加して、作成完了しました。

GOTOをむやみに使うと、スクリプトがスパゲッティ状態になりかねないので、多用は避けるべきではありますが、for/while/loopから2段階以上break/continueしたいとか、処理の都合で凄く遠い場所にジャンプしたいとか、需要がゼロということもないわけではないので、無いよりはあった方がよいだろう、ということで、ヘルプ上のサンプルもそういう記述にしました。

この他に、R-Scriptの頃に存在していたArrayInit()ArrayAdd()などの配列操作系関数の追加を行いました。

レジストリ操作/ini操作/ファイル操作はポリシーとして今回は追加しないと決めているので、まぁ大体これで、思いつくものは追加し終わった感じかなぁと思っています。



目次 | ←前へ / 2026-03-22 00:00


目次の表示:


ブログではないので、コメント機能とトラックバック機能は提供していません。ご質問・ご意見等はメールフィードバックまたはX等からお願いします。いただいたご質問・ご意見などは、この「管理人のひとこと」の記事に追加、あるいは新規の記事にする形で一部または全文をそのまま、あるいは加工させていただいた上で、ご紹介させていただく場合があります。
当サイトでは掲載内容による不具合等に関する責任を持ちません。また、内容の正確性についての保証もありませんので、情報をご利用の際は、利用者の自己責任で確認をお願いします。本ページは公開から1年半後の任意のタイミングで削除される予定です。


- 最近の更新 -



3503200 (+0067)[+1102]

Copyright© 2010-2026 INASOFT