Top/YAYA as SAORI
  トップページへ   [ 一覧 | 検索 | 最終更新 ]   [ 差分 | 履歴 ]

YAYA as SAORI

概要

摂理氏作、yaya.dllをSAORIとして呼び出すモジュールです。
YAYA以外のSHIORIからYAYAの機能を使う事が可能になります。

デフォルトの状態ではYAYAのビルトイン(システム)関数のみ利用できます。
追加モジュールを導入することにより更に用途が広がります。YAYAの文法がわかる人はこの追加モジュールを自分で作成することができます。

ダウンロード

追加モジュール

  • jsonパーサ with オブジェクト風の何か
    • jsonをjavascriptのオブジェクト風に読み込み、要素の取り出し等の操作が行えるモジュール。
  • calendae
    • 暦に関する計算機能モジュール。
  • sub-edittext
    • テキストファイルの編集機能モジュール。
  • ssu.aym
    • ssu(里々同梱SAORI)と同じ動作をさせる。
  • Reta
    • テキストファイルやインストールされてるゴーストのシェル名、文/里々/華和梨/美坂のセーブデータを読み取る。

解説サイト

デモゴースト

  • 紺野さやめ
    • 里々用デモゴースト。同梱されているSAORIのバージョンが古いため、入れ替え推奨。

モジュールの自作

  • 通常の辞書と同じように、yaya.txtに追記することで自由に追加できます。

    慣習上「.aym」という拡張子(※aya moduleの略)にする事が多いですが、それ以外であっても動作に影響はありません。

  • SAORIの引数は、モジュール内でREQ.ARGS[*]という配列に格納されています。

    Argument0はREQ.ARGS[0]で、それ以降も同様です。

  • SAORIの戻り値は、モジュール内でRES.RESULTおよびRES.VALUE*という変数に代入する事で返却します。

    単数戻り値ResultはRES.RESULTに、複数戻り値Value*はそれぞれ一つずつRES.VALUE*に返却します。

    RES.VALUE*は配列ではない事に注意してください。代入にはシステム関数LETTONAMEが便利であるかもしれません。

  • もし引数が不正等の理由から、SAORIとしての機能が正常に実行出来なかった場合には、関数の戻り値として(SAORI戻り値ではなく)数値-1を返却します。

    YAYA as SAORIシステム部が戻り値として-1を受け取ると、不正な呼び出しとしてエラーを通知します。

    この時、YAYAのシステム関数LOGGINGを利用して、エラーが発生したSAORI関数名とエラーの説明をログに残す事が推奨されます。

  • 関数名は自由に設定して構いませんが、「モジュール名.関数名」といった組成にすることには少なくとも二つ意味があります。
    • 一つは、そうした組成の関数名について、YAYA as SAORIはモジュールのロード・アンロード用の仕組みを提供していることです。

      モジュール名.関数名というピリオドを含む関数名が呼び出された時、YAYA as SAORIはモジュール名の部分を記憶します。

      そして、同一のモジュール名を持つ関数が始めて呼ばれたときに、モジュール名.Loadという関数がないかを探し、あれば実行します。

      また、yaya.dllがアンロードされるとき、モジュール名.Unloadという関数がないかを探し、あれば実行します。

      モジュール全体にわたって共通のグローバル変数を利用するような場合には、初期化・後始末にこうした仕組みを利用できるでしょう。

    • もう一つは、このようにモジュール名を関数名の前に冠しておくことで、いくらか関数名が重複しにくくなることです。

      モジュールは異なる複数人が作成した物が共存することがありますし、当然一人で複数のモジュールを個別に作ることもあります。

      そうした場合を想定してこのように命名しておけば、関数名が重複するリスクをある程度低めることができるでしょう。