プライベートな連絡先の最初の情報
送料メール:
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
序文
この記事は以下から参照しています。Lua データ型の初心者向けチュートリアル (runoob.com)
さらに詳しく知りたい方は、上記のリンクをご確認ください。
- print(type("Hello world")) --> string
- print(type(10.4*3)) --> number
- print(type(print)) --> function
- print(type(type)) --> function
- print(type(true)) --> boolean
- print(type(nil)) --> nil
- print(type(type(X))) --> string
- print(type(Y)) -->nil
- print(type('Y')) -->string
ここで出力した type(Y) が nil 型であることがわかりますが、なぜでしょうか? 次の nil (空) が示されます。
nil 型は、有効な値を持たない型を表します。たとえば、代入なしで変数を出力すると、nil 値が出力されます。
以下の通り、初期値が割り当てられていない3つの変数の出力型は全てnilとなります。
- tab1 = { key1 = "val1", key2 = "val2",
- "val3","val4",key3 = "val5" }
- for k, v in pairs(tab1) do
- print(k .. " - " .. v)
- end
- print("=========直接输出=============")
-
-
- tab1.key1 = nil
- for k, v in pairs(tab1) do
- print(k .. " - " .. v)
- end
- print("============删除key1后==========")
-
-
-
- tab1.key3 = nil
- for k,v in pairs(tab1) do
- print(k.. " - "..v)
- end
- print("=========删除key3后============")
-
グローバル変数とテーブルの場合、nil には「削除」効果もあります。グローバル変数またはテーブル内の変数に nil 値を割り当てることは、それらを削除することと同じです。
type(X)==nil の結果は次のようになります間違いその理由は、type(X) は本質的に、返される "nil" 文字列 (文字列型) であるためです。
ブール型には true (true) と false (false) の 2 つの値しかありません。Lua は false と nil を false として扱い、その他の数値 0 も true となります。
- print(type(true))
- print(type(false))
- print(type(nil))
-
- if false or nil then
- print("至少有一个是 true")
- else
- print("false 和 nil 都为 false")
- end
-
- if 0 then
- print("数字 0 是 true")
- else
- print("数字 0 为 false")
- end
Lua のデフォルトの数値型は double (倍精度) 型の 1 つだけです (デフォルトの型は luaconf.h で変更できます)。以下の記述方法は num とみなされます。
数値文字列に対して算術演算を実行する場合、Lua は数値文字列を数値に変換しようとします。
Lua では、テーブルの作成は「構成式」によって行われます。最も単純な構成式は、空のテーブルを作成するために使用されます。テーブルにデータを追加して、テーブルを直接初期化することもできます。
Lua のテーブルは実際には「連想配列」(連想配列)、配列のインデックスは数値または文字列にすることができます。
テーブルの長さは固定ではなく、新しいデータが追加されると、初期化されていないテーブルの長さは自動的に増加します。
Lua では、関数は「第一級の値」とみなされます。
Lua で最も重要なスレッドはコルーチンです。これはスレッドに似ており、独自の独立したスタック、ローカル変数、命令ポインタを持っています。
グローバル変数やその他のほとんどのものは、他のコルーチンと共有できます。スレッドとコルーチンの違い: スレッドは同時に複数回実行できますが、コルーチンはいつでも 1 つだけ実行でき、実行中のコルーチンは一時停止された場合にのみ一時停止されます。
userdata は、アプリケーションまたは C/C++ 言語ライブラリによって作成された型を表すために使用されるユーザー定義データのタイプです。
任意の C/C++ データ型 (通常は構造体とポインター) の任意のデータを Lua 変数に保存し、それを呼び出すことができます。