Menu
Coddy logo textTech

まとめ:ジェネリック関数

CoddyのLuaジャーニー「Luau入門」セクションの一部 — レッスン 62/73。

challenge icon

チャレンジ

中級

1つのプログラムの中でジェネリック型エイリアスとジェネリック関数を組み合わせます。

2つの型パラメータ TU を持つ Pair という名前のジェネリック型エイリアスを定義し、以下の要素を持つテーブルを表します:

  • Tfirst
  • Usecond

TU を宣言し、first: Tsecond: U を受け取り、それらを Pair<T, U> にパックして返す makePair という名前のジェネリック関数を作成します。

TU を宣言し、pair: Pair<T, U> を受け取り、文字列補間を使って作成した文字列 ({first}, {second}) を返す(戻り値の型は stringdescribePair という名前のジェネリック関数を作成します。

次に:

  1. makePair("Nova", 87) を呼び出して、型 Pair<string, number>playerScore を作成します
  2. makePair(3, true) を呼び出して、型 Pair<number, boolean>levelDone を作成します
  3. playerScore.first を出力します
  4. playerScore.second を出力します
  5. describePair(playerScore) を出力します
  6. describePair(levelDone) を出力します
  7. 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入門のすべてのレッスン