メッセージング ライブラリ

メッセージを送信する単一の機能として始まったものは、時間の経過とともに、関連する機能のコレクションに進化しました。これらの関数は、GUI、エラー コンソール、ターミナルなどのさまざまな宛先への出力を処理するように設計された メッセージング ライブラリ の基礎を形成します。

なぜメッセージング ライブラリなのか?

ニーズが高まるにつれ、複数の出力にわたるメッセージを処理するには、よりモジュール化された拡張可能なアプローチが必要になります。単一の関数がすべてを実行するのではなく、プロセスを再利用可能なコンポーネントに分割し、柔軟性を高めました。このライブラリは、他のプラグインや関数が借用できる汎用メッセージング ツールとして使用できるようになりました。

メッセージング ライブラリは何をしますか?

メッセージング ライブラリには現在次の関数が含まれています。

  • send-to-gui: Lumi GUI ダイアログボックスにメッセージを送信します。
  • send-to-error-console: Lumi エラーコンソールにメッセージを送信します。
  • send-to-terminal: ターミナル ウィンドウにメッセージを送信します。
  • send-message: メッセージを適切な出力に送信するディスパッチャー関数。
  • validate-message: 送信する前に、メッセージと出力が有効であることを確認します。

ライブラリの拡張

メッセージング ライブラリは、追加の出力をサポートするように簡単に拡張できます。たとえば:

  • send-to-file: メッセージをログ ファイルに保存します。
  • send-to-logger: 外部ログ システムと統合します。
  • send-to-notification: メッセージをシステム通知として表示します。

モジュール設計と再利用可能な関数の同じパターンに従うことにより、このライブラリは、あらゆる種類のメッセージング タスクを処理するための包括的なツールに成長できます。

メッセージング ライブラリの利点

  • 再利用性: 機能はさまざまなプラグインまたはプロジェクト間で再利用できます。
  • モジュール性: 各関数は 1 つの特定のタスクを処理するため、コードの保守と拡張が容易になります。
  • 一貫性: 同じ検証機能とメッセージ処理機能を使用することで、アプリケーション全体で一貫した動作が保証されます。

メッセージング ライブラリ は、プロジェクト内でのメッセージの管理方法を簡素化できる広範なフレームワークの始まりです。ライブラリが成長するにつれて、新しいプラグインはそれを簡単に利用して、必要な場所にメッセージを送信できるようになります。

ファイル構造を調整できます。

/home/your-username/code/
  ├── script-fu/
      ├── library/
      │     └── send-message.scm -> messaging.scm
      └── plug-ins/
            └── hello-world/
                  └── hello-world.scm

メイン プラグインの load を忘れずに調整してください。

# !/usr/bin/env lumi-scheme-interpreter-0.1

(load "/home/mark/code/github/script-plugins/funky-library/messaging.scm")

(define (scheme-hello-world)
  (let ((message "Hello world!\n"))
    (send-message message 'gui)
    (send-message message 'error-console)
    (send-message message 'terminal)))

(scheme-register-procedure "scheme-hello-world"
  "Hello world!"
  "A Scheme procedure plug-in refactored"
  "Mark Sweeney"
  "Under GNU GENERAL PUBLIC LICENSE Version 3"
  "2024")

(scheme-menu-register
  "scheme-hello-world"
  "<Image>/Funky")