Menu
Coddy logo textTech

ドット記法によるアクセス

CoddyのLuaジャーニー「Fundamentals」セクションの一部 — レッスン 67/90。

Luaは、ドット記法(dot notation)と呼ばれる、より便利な代替手段を提供しています。これは、キーが単純な文字列である場合に、値にアクセスするための、よりクリーンで読みやすい方法です。

player["score"] と書く代わりに、単に player.score と書くことができます:

local player = {
    ["name"] = "Alex",
    ["score"] = 1500,
    ["level"] = 8
}

print(player.name)   -- 出力: Alex
print(player.score)  -- 出力: 1500

ドット記法は、プログラマーが「シンタックスシュガー(構文糖)」と呼ぶものです。これは、同じ内容をより快適に記述するための方法です。ただし、これが機能するのは、キーが有効な Lua 識別子である場合に限られます。つまり、文字、数字、アンダースコアのみを含み、数字で始まらないものである必要があります。

local book = {
    ["title"] = "Lua Programming",
    ["pages"] = 300
}

local bookTitle = book.title
print(bookTitle)  -- 出力: Lua Programming
challenge icon

チャレンジ

簡単

ドット記法を使用して本の情報にアクセスする方法を示す、ライブラリ管理システムを作成します。まず、book という名前のテーブルを作成し、以下のキーと値のペアを設定します。["title"] には文字列 "The Lua Guide" を、["author"] には文字列 "Roberto Ierusalimschy" を、["pages"] には数値 328 を、そして ["year"] には数値 2016 を割り当ててください。テーブルを作成した後、ドット記法を使用して本のタイトルにアクセスし、出力してください。

チートシート

Luaは、キーが単純な文字列である場合にテーブル値にアクセスするための、ブラケット記法よりもクリーンな代替手段としてドット記法を提供しています。

local player = {
    ["name"] = "Alex",
    ["score"] = 1500,
    ["level"] = 8
}

print(player.name)   -- 出力: Alex
print(player.score)  -- 出力: 1500

ドット記法は、キーが有効なLua識別子(英数字とアンダースコアのみを含み、数字で始まらないもの)である場合にのみ機能します。

local book = {
    ["title"] = "Lua Programming",
    ["pages"] = 300
}

local bookTitle = book.title
print(bookTitle)  -- 出力: Lua Programming

自分で試してみよう

-- TODO: 必要なキーと値のペアを使用してbookテーブルを作成してください

-- TODO: ドット記法を使用して本のタイトルにアクセスし、表示してください
quiz icon腕試し

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

Fundamentalsのすべてのレッスン