スポンサーリンク

【Roblox開発】Luaの基本:データ型について

Roblox

Roblox(ロブロックス)のゲーム開発のスクリプト言語に使われているLuaスクリプトに関する解説です。

ここではLuaプログラミングの基本となるデータ型について説明しています。

スポンサーリンク

Luaで使用できるデータ型

Luaスクリプトで利用できるデータ型は以下の8つ。

データ型値の例値の例
nilnilのみnil
boolean
(ブーリアン)
trueもしくは falsetrue
false
number
(数値)
整数および浮動小数点数
(小数のゼロは省略可能)
0
123
1.00
0.333333333
-3.69
.12
string
(文字列)
任意の文字列
(エンコーディングは関知しない)
ABC
123
$%&
日本語
function
(関数)
LuaもしくはCで記述された関数
userdata
(ユーザーデータ)
任意のCのデータをLua変数に格納するためのポインタ
値はCのAPIを使って作成、変更する
thread独立した実行スレッドを格納。コルーチンに使用する
table連想配列(シーケンス)
  • 条件判断においてnilおよびfalseはいずれも偽となり、それ以外の値はすべて真となります。
  • 数値型は整数と浮動小数点数のサブタイプがあり、状況に応じて自動的に型変換されます。
  • LuaのスレッドはOSのスレッドとは無関係。OSのマルチスレッドのサポートなどと関係なくLuaではコルーチンが利用可能です。
スポンサーリンク

型の種類を確認する

ライブラリ関数typeを使用することで、指定された値の型を示す文字列(前述の表の「データ型」列にある英語表記)を取得することができます。

print(type(nil)) ->nil
print(type(false)) ->boolean
print(type(1)) ->number
print(type("ほげ")) ->string
print(type(function (x) return x end)) ->function
print(type({1,2})) ->table
スポンサーリンク

配列について

Luaで使用できる配列はtable型のみ。

table型のインデックスはnilとNaN(Not a Number)以外のLuaの値が使用可能です。

また、キーが1から順に整数値で設定されたようなテーブルはシーケンスと呼ばれます。

テーブルのフィールドには関数も格納できる。つまりテーブルにメソッドを持たせることができます。

端数のない浮動小数点などはLua言語による等値比較のデータとして扱われます。例えば小数点以下の数値のない浮動小数点1.001と同値として比較されるため、a[2.0] = "Foo"と書いた場合の実際のキーはa[2]として格納されます。一方、a["2"] = "Foo"は異なる型となるため、異なるテーブルエントリとして扱われます。

配列(table型)の詳細については以下へ続きます。

WordPress&Cocoonのお悩みにお答えします

クラベルではWordPressのブログサイト構築、Cocoonテーマの導入やカスタマイズに関するご相談を承っております。

お困りの方はぜひ一度お問い合わせください。また、現在ココナラをつかったサービス出品も始めてみました。お悩みおひとつの解決からお手軽にお申込みできますので、こちらもぜひあわせてご覧ください。

最短当日★ワードプレスの疑問質問トラブル解決します ご相談無料!初心者歓迎!優しく丁寧、徹底的にサポートします!
Cocoonテーマサイト構築&カスタマイズします ご相談無料★公式サポート対象外もOK!プログラミングはお任せ
RobloxWeb開発
お読みいただきありがとうございました。
最後に「いいね!」をいただけると大変励みになります。
最新情報をお届けします。
クラベルをフォローする
スポンサーリンク
この記事を書いた人
クラベル

Webサイト構築、Wordpressのカスタマイズやphpプログラミングなどやってます。BPM(ビジネスプロセス管理)、BPR(業務改革)コンサルなどにも従事。世の中すべてピタゴラ装置をモットーに自動化します。ブログは省エネ運営中。Cocoonカスタマイズやゲーム、ガジェットの話題など。

プロフィール詳細、お仕事のご依頼はこちら

クラベルをフォローする
クラベル
タイトルとURLをコピーしました