仕事を始めるとき Lua、最初の質問の1つは、変数と型がどのように構成されているかということです。特に、すでに Python または JavaScriptここでもすべてが「動的」に見えますが、ニュアンスがあります。詳しく見ていきましょう。
Lua のデフォルト変数 グローバルこれは、関数内で作成するすべてがローカルであるPythonやJavaScriptとは大きく異なります。
x = 10 -- глобальная переменная
local y = 5 -- локальная переменная
👉グローバル名前空間を混乱させたり、予期しないバグをキャッチしたりしないように、常にlocalを使用することをお勧めします。

Luaのタイプ:8つの基本
nil
boolean
number
string
function
userdata
thread
table
local a = 42 -- number
local b = "hello" -- string
local c = true -- boolean
local d = nil -- nil
📌 数字が int、float、complex で割られる Python とは異なり、Lua ではすべて単に number です。人生を簡素化しますが、時にはコントロールを減らします。
動的型付け:JSとPythonの場合はどうですか?
はい、LuaはPython/JavaScriptと同様に、 動的型付け変数はその場で型を変更できます。
local v = 10
print(type(v)) -- number
v = "line"
print(type(v)) -- string
CODE_BLOCK_3// JavaScript
let x = 10
x = "line"
しかし、微妙な点があります。Luaには、タイプを制限するための組み込みメカニズムがありません(TypeScript、mypyなどとは異なります)。すべてはプログラマーの規律に依存します。

表:メイン汎用タイプ
Pythonにある場合 リスト, 辞書, 集合、JSでは 施設 と 配列Lua では、これらはすべて 1 つのタイプ、table にまとめられています。
local arr = {1, 2, 3} -- как массив
local dict = {x=10, y=20} -- как словарь
👉 Luaの強みは、タイプが少ないほど柔軟性が高いことです。しかし、より多くの責任も伴います😅。
LuaはPythonやJSとどう違うのですか?
特性 | Lua | Python | JavaScript |
|---|---|---|---|
デフォルトの変数 | グローバル | ローカル関数 | 関数内のローカル変数(let/const) |
組み込みタイプの数 | 8 | 14+ | 7+ |
数値の種類 | 1 (number) | int, float, complex | number, bigint |
メインデータ構造 | table | list, dict, set, tuple | object, array |
タイプシステム | 動的、無制限 | ダイナミックでありながら厳格 | 動的、 「魔法」付き(NaNなど) |
Luaは、シンプルで柔軟なデータモデルを持つ言語です。Pythonのようなタイプで過負荷になることはなく、JavaScriptのような数字で「奇妙」なこともありません。しかし、グローバル変数と厳密な型指定がないため、特に注意する必要があります。
📌したがって、Luaで苦労せずに書きたい場合は、 常に local 変数に格納されているものを明確に追跡します。
B コディケ 私たちはプログラミングの学習を楽しくわかりやすくします。ステップバイステップでスキルを磨くのに役立つ課題を伴う興味深いコースを用意しています。
また、アクティブな テレグラムチャンネル、ここでは素晴らしいアイデアについて話し合い、経験を共有し、課題を一緒に分析します。学習は有益であるだけでなく、楽しいものになります。
