{}const=>[]async()letfn</>var
開発Lua

Luaの変数と型:PythonとJSとの違い

Luaの変数と型の仕組み、およびそれらが通常のPythonとJavaScriptとどのように異なるかを分析します。

К

Kodik

著者

1分で読める

仕事を始めるとき 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

📌 数字が intfloatcomplex で割られる Python とは異なり、Lua ではすべて単に number です。人生を簡素化しますが、時にはコントロールを減らします。

🔥 10万人以上の学生が参加中

理論を読むのに疲れた?
コーディングの時間だ!

Kodik — 実践でプログラミングを学ぶアプリ。AIメンター、インタラクティブなレッスン、実際のプロジェクト。

🤖 AI 24時間
🎓 修了証
💰 無料
🚀 始める
今日参加

動的型付け: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 コディケ 私たちはプログラミングの学習を楽しくわかりやすくします。ステップバイステップでスキルを磨くのに役立つ課題を伴う興味深いコースを用意しています。

また、アクティブな テレグラムチャンネル、ここでは素晴らしいアイデアについて話し合い、経験を共有し、課題を一緒に分析します。学習は有益であるだけでなく、楽しいものになります。

🎯先延ばしをやめよう

記事は気に入った?
実践の時間だ!

Kodikでは読むだけでなく、すぐにコードを書く。理論 + 実践 = 本当のスキル。

即座に実践
🧠AIがコードを説明
🏆修了証

登録不要 • カード不要