まとめ:Enum、Luau流のアプローチ
CoddyのLuaジャーニー「Luau入門」セクションの一部。レッスン 56/73。
チャレンジ
中級リテラル union 型 OrderStatus を作成し、メンバーとして "pending"、"shipped"、"delivered"、"cancelled" を指定します。
次の内容を持つ shape エイリアス Order を作成します。
- 型が
numberのid - 型が
stringのcustomerName - 型が
OrderStatusのstatus
3 つの order を作成します。
order1: id1001、"Alice Johnson"、status"pending"order2: id1002、"Bob Smith"、status"shipped"order3: id1003、"Carol Davis"、status"delivered"
Order を受け取り、Order #[id] for [customerName] is [status] を出力する関数 displayOrderInfo を作成します。
frozen な constant table Priority を作成し、Low = 1、Normal = 2、High = 3 とします。
次に、順番に次の操作を行います。
- 3 つの order それぞれに対して
displayOrderInfoを呼び出す order2の status を出力するPriority.Highを出力するPriorityが frozen かどうかを出力する
自分で試してみよう
-- ここにコードを書いてください
-- 1) 型 OrderStatus(リテラルユニオン)と型 Order(シェイプ)を定義する
-- 2) order1、order2、order3 を作成する
-- 3) displayOrderInfo を書く
-- 4) 凍結された Priority テーブルを作成する
-- 5) 要求された6行を出力する
Luau入門のすべてのレッスン
7プロジェクト:Typed Task Manager
プロジェクト:タスクの型定義タスクを追加する関数8Enum、Luau流のアプローチ
LuauにおけるEnumパターンテーブルによる数値Enumユニオン型としての文字列EnumリテラルユニオンEnumの活用定数テーブルのフリーズまとめ:Enum、Luau流のアプローチ自分で練習してみよう: Luaオンラインコンパイラ