Menu
Coddy logo textTech

まとめ:テーブルの形状の定義

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

challenge icon

チャレンジ

中級

以下のフィールドを持つ Computer という名前の型エイリアスを作成します:

  • number 型の id
  • string 型の brand
  • number? 型の ramInGB(オプショナル)
  • boot — メソッド (self: Computer) -> ()

2つのコンピュータを作成します(コロン構文定義を使って boot を追加します):

  • workstation — id 1001、brand "Dell"、ramInGB 16。その boot[brand] is booting up... を出力します
  • laptop — id 1002、brand "MacBook"、ramInGB はなし。その boot[brand] is starting... を出力します

Computer を受け取り string を返す関数 specs を作成します。RAMが判明している場合は [brand] with [ramInGB] GB of RAM を返し、それ以外の場合は [brand] with unknown RAM を返します。

その後、以下の順序で実行します:

  1. workstation:boot() を呼び出す
  2. laptop:boot() を呼び出す
  3. specs(workstation) を出力する
  4. specs(laptop) を出力する
  5. workstation の id を出力する

自分で試してみよう

-- ここにコードを書いてください
-- 1) 型 Computer を定義する(オプションの ramInGB、boot メソッド)
-- 2) workstation と laptop を作成し、コロン構文で boot をアタッチする
-- 3) ramInGB の nil チェック付きで specs を書く
-- 4) 両方を boot し、両方の specs を出力し、workstation.id を出力する

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