Menu
Coddy logo textTech

型付き配列

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

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

Lua では、array は位置 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 array を declare すると、Luau の type checker によって、declare した type の values だけが入ることが強制されます。{number} array に string を insert すると、コードが実行される前、編集中に type error が発生します。

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

Lua の table についてすでに知っていることはすべて引き続き当てはまります。arrays は 1-basedscores[1] は first element)で、#scores は length です。また、table.insert / table.remove は通常どおり動作します。annotation が追加するのは安全性であり、新しい runtime behavior ではありません。

challenge icon

チャレンジ

簡単

numbers のみを保持できる、859278 で初期化された、scores という名前の型付き配列を作成してください。

文字列のみを保持できる、"Alice""Bob""Charlie" で初期化された、studentNames という名前の2つ目の型付き配列を作成してください。

次に、それぞれを独自の行に出力してください:

  1. 最初のスコア
  2. スコアがいくつあるか(# を使用)
  3. 2つ目の学生名

自分で試してみよう

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

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

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

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