Menu
Coddy logo textTech

おさらい - シンプルなイベントハンドラー

CoddyのLuaジャーニー「Logic & Flow」セクションの一部 — レッスン 15/54。

challenge icon

チャレンジ

簡単

事前に登録されたイベントを持ち、入力パラメータに基づいてそれらをトリガーするシンプルなイベントシステムを作成する関数 createEventSystem を記述してください。

ロジック:

  • createEventSystem の内部に、イベントを格納するための空のテーブルを作成します
  • eventNamecallback を受け取り、イベント名をキーとしてコールバックをイベントテーブルに保存する register 関数を定義します
  • eventNamearg を受け取り、イベントテーブルからコールバックを検索し、存在すればその引数で呼び出す trigger 関数を定義します
  • 以下の3つのイベントを事前に登録します:
    • "double": 数値を受け取り、それを2倍にして返します
    • "square": 数値を受け取り、それを2乗して返します
    • "increment": 数値を受け取り、それに1を足して返します
  • eventName パラメータで指定されたイベントを、value パラメータを使用してトリガーします
  • トリガーされたイベントの結果を返します。イベントが存在しない場合は "Event not found" を返します

パラメータ:

  • eventName (string): トリガーするイベントの名前
  • value (number): イベントのコールバックに渡す値

戻り値:

  • コールバック関数の結果 (number)、またはイベントが存在しない場合は "Event not found" (number|string)

自分で試してみよう

function createEventSystem(eventName, value)
    -- ここにコードを記述してください
end

Logic & Flowのすべてのレッスン