2016-12-20 72 views
0

私はスキャンユニットを制御するためのプログラムを作成しています。しかし、プログラムの複雑さが原因で、1つのファイルにコードが残っていると、混乱することになります。別のファイルに分割することはできますか?もしできれば、どう?Lua:コードを別々のファイルに分割する

+0

複数のファイルに分けることができます。ただし、関数がローカルの場合、別のファイルから関数にアクセスすることはできません。 – macroland

+0

Javaのように、そのファイルをインポートする必要がありますか? – Nero

+0

答えを見てください。 – macroland

答えて

2

File1.lua

function add(a,b) 
    return a+b 
end 

file2.lua

function subtract(a,b) 
    return a-b 
end 

file3.lua

function DoSomething(a,b) 
    return add(a,b) , subtract(a,b) 
end 

ので、彼らがなり、機能がファイルにローカルではないことに注意してくださいグローバルテーブル内にあり、他のファイルからアクセスされます。 1つのファイルにlocal function aを使用した場合、別のファイルではlocal function aにはアクセスしません。

つまり、localキーワードを使用しないと、他のファイルから変数、関数にアクセスできます。

+0

しかし、どのようにコードを他の場所に "含める"のですか? – wizzwizz4

+0

「インクルード」の意味に依存します。関数または変数がグローバル表内にある限り、別の表を指定しないかぎり、関数または変数は異なるファイルからアクセスできます。概念的には、C++の 'static'キーワードに相当するのはLuaの' local'です。また、greatwolfのコメントを見てください。 – macroland

+0

どのように指令をファイルに入れて、Luaにそのファイルをコードとして読み込ませると、命令が実行され、関数が利用できるようになりますか? – wizzwizz4

関連する問題