Menu
Coddy logo textTech

型付き配列

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

typed arrays は、型の安全性を保ちながら複数の `values` を整理するための、Luauの最も便利な機能の1つです。

Luaでは、配列は位置 1, 2, 3, … に `values` を持つ単なる `table` であり、`number`、`string`、`boolean` を一度に保持できます。Luauでは、{Type} 構文を使用して、`table` に1つの `type` の要素のみが含まれるように `declare` できます:

local numbers: {number} = {1, 2, 3, 4, 5}
local names: {string} = {"Alice", "Bob", "Charlie"}
local flags: {boolean} = {true, false, true}

`typed` 配列を `declare` すると、Luauの `type` チェッカーは `declare` された `type` の `values` のみが含まれるように適用します。{number} 配列に `string` を `insert` すると、コードが実行される前の編集段階で `type` `error` が発生します:

local scores: {number} = {85, 90, 78}
table.insert(scores, "oops") -- ✗ 型エラー: string は number ではありません

Luaの `table` についてすでに知っているすべてのことが引き続き適用されます。`arrays` は 1-basedscores[1] が `first` 要素)、#scores は長さであり、table.insert / table.remove は通常通り動作します。アノテーションは安全性を追加するものであり、新しい実行時動作を追加するものではありません。

challenge icon

チャレンジ

簡単

数値のみを保持できる scores という名前の型指定された配列を作成し、8592、および 78 で初期化します。

文字列のみを保持できる studentNames という名前の2つ目の型指定された配列を作成し、"Alice""Bob"、および "Charlie" で初期化します。

その後、それぞれ新しい行に以下を出力します:

  1. 最初の score
  2. score の個数 (# を使用)
  3. 2番目の student name

自分で試してみよう

-- ここにコードを書いてください
-- 1) scores: {number} と studentNames: {string} を宣言する
-- 2) 最初のスコア、scores の数、および2番目の名前を出力する
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

Luau入門のすべてのレッスン