まとめ:ジェネリック関数
CoddyのLuaジャーニー「Luau入門」セクションの一部。レッスン 62/73。
チャレンジ
中級1つのプログラムの中でジェネリックエイリアスとジェネリック関数を組み合わせます。
2つの型パラメータ T と U を持つ Pair という名前のジェネリック型エイリアスを定義し、以下のテーブルを表現します:
T型のfirstU型の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をprintするplayerScore.secondをprintするdescribePair(playerScore)をprintするdescribePair(levelDone)をprintする- 1行で
describePair(makePair("Luau", 2026))をprintする
自分で試してみよう
-- ここにコードを書いてください
-- 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(指示からの正確なテキスト、87)と levelDone(3, true)を作成し、
-- 次に必要な5行を出力する
Luau入門のすべてのレッスン
7プロジェクト:Typed Task Manager
プロジェクト:タスクの型定義タスクを追加する関数自分で練習してみよう: Luaオンラインコンパイラ