まとめ:ジェネリック関数
CoddyのLuaジャーニー「Luau入門」セクションの一部 — レッスン 62/73。
チャレンジ
中級1つのプログラムの中でジェネリック型エイリアスとジェネリック関数を組み合わせます。
2つの型パラメータ T と U を持つ Pair という名前のジェネリック型エイリアスを定義し、以下の要素を持つテーブルを表します:
- 型
Tのfirst - 型
Uのsecond
T と U を宣言し、first: T と second: U を受け取り、それらを Pair<T, U> にパックして返す makePair という名前のジェネリック関数を作成します。
T と U を宣言し、pair: Pair<T, U> を受け取り、文字列補間を使って作成した文字列 ({first}, {second}) を返す(戻り値の型は string)describePair という名前のジェネリック関数を作成します。
次に:
makePair("Nova", 87)を呼び出して、型Pair<string, number>のplayerScoreを作成しますmakePair(3, true)を呼び出して、型Pair<number, boolean>のlevelDoneを作成しますplayerScore.firstを出力しますplayerScore.secondを出力しますdescribePair(playerScore)を出力しますdescribePair(levelDone)を出力しますdescribePair(makePair("Luau", 2026))を1行で出力します
自分で試してみよう
-- ここにコードを書いてください
-- 1) 型 Pair<T, U> = {first: T, second: U} を定義する
-- 2) makePair<T, U>(first: T, second: U): Pair<T, U> を定義する
-- 3) describePair<T, U>(pair: Pair<T, U>): string を定義する
-- `({pair.first}, {pair.second})` を返す
-- 4) playerScore ("Nova", 87) と levelDone (3, true) を構築し、
-- その後、必要な5行を出力する
Luau入門のすべてのレッスン
7プロジェクト:Typed Task Manager
プロジェクト:タスクの型定義タスクを追加する関数