ドット記法によるアクセス
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チャレンジ
簡単ドット記法を使用して本の情報にアクセスする方法を示す、ライブラリ管理システムを作成します。まず、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: ドット記法を使用して本のタイトルにアクセスし、表示してくださいこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。