Menu
Coddy logo textTech

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

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

challenge icon

チャレンジ

中級

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

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

  • T 型の first
  • U 型の second

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.firstprint する
  4. playerScore.secondprint する
  5. describePair(playerScore)print する
  6. describePair(levelDone)print する
  7. 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入門のすべてのレッスン

自分で練習してみよう: Luaオンラインコンパイラ