luaベース
8074 ワード
趙子清の技術文章 Docs » 開発言語» luaベース
Lua自身はシンプルで優雅さを美とし、Cが苦手な任務に着目している.C/C++を利用して拡張し、Luaは無限の魅力を見せることができる.Lua自体は完全にANSI Cに従って書かれており、Cコンパイラのある場所であればLuaはその力を発揮することができる.Luaはpythonのような大きなライブラリを追求する必要はありません.あまりにも多くの負担があり、かえって彼女の優美さを破壊します.
-翻訳
本文章はlua 5.2に基づく.
知識を準備する.
luaを得る.
luaは非常に小さい、ほとんどのシステムをサポートしている.Linuxには基本的にluaがプリインストールされていますが、他のシステムではluaを入手する方法については、以下を参照してください.http://lua-users.org/wiki/LuaBinaries
luaコマンドライン
luaをインストールすると、luaコマンドラインが使用できます.その使用は非常に簡単です.
パラメータを加えることなくインタラクティブな環境に入る.
argグローバル変数はすべてのパラメータを保存する、スクリプト名インデックスは0であり、スクリプトパラメータのインデックスは1から始まり、スクリプト前のパラメータのインデックスは負である.例:
argが保存した値は次のとおりです.
キーワードを保持する.
luaの変数コマンドはC言語と一致するが、このような識別子は一般的に内部で使用するため、下線に大文字を加えた識別子は使用しないほうがよい.luaの保持キーワードは次のとおりです.
注釈.単一行注記:– 複数行コメント–[-]] Chunk¶
Chunkは一連の文です.luaが実行する文ブロック、例えばファイルインタラクションモードの各行がchunkである.
データ型
luaは動的タイプ言語であり、変数を宣言する際にデータ型を指定する必要はない.
luaには8つの基本タイプがあります. nil boolean number string userdata function thread table
type()関数を使用すると、所定の変数または値のタイプを表示できます.
string¶文字列の文字面値は、単一引用符でも二重引用符でも使用できます.スタイルを統一した が望ましいです.はまた、 はエスケープされない. luaは、必要に応じてnumberとstringを互いに変換し、tostring()とtonumber()を使用して明示的に 変換することもできる. に相当する.
警告 luaで条件判断を用いる場合、falseとnilが偽である以外はすべて真であるため、数字0と空の文字列も真である. stringには0があり、読み取り可能であり、変更するには 変数を新規作成する必要があります.
userdata¶
userdataは、Cデータをlua変数に格納ことができ、付与値と等しい比較以外に他の操作はない.userdataは、アプリケーションまたはC実装ライブラリを用いて作成する新しいタイプを記述するために使用される.
//todo
thread¶
//todo
式.
演算子/演算子
二元:+-*/^(べき乗)
一元:-(負)
関係演算子
lua関係演算子には、次のものが含まれます.
関係演算子の結果はtrueまたはfalseである.table,userdata,functionについては,値比較ではなく参照により比較する.
警告
=ではなく~=ではありません!=
論理演算子.
lua論理演算子には、次のものが含まれます.
警告
andとorの結果はtrue/falseではなく、2つの操作数と関係があり、以下の例を参照する.
短大欄lua基礎
接続演算子
すなわち、2つの点
演算子の優先度/
lua演算子の優先度は、次のようになります.
語句.
値をつける.
luaは、複数の変数に同時に値を割り当てることができ、変数リストと値リストの各要素はカンマで区切られます.
luaは、付与文の右側のすべての値を計算してから付与操作を行うので、luaでは次のように2つの変数の値を交換できます.
局所変数
ローカル変数はlocalで宣言することができ、宣言されたコードブロックでのみ有効である.ローカル変数へのアクセスは、グローバル変数よりも高速であり、名前の競合を回避することができる.ローカル変数をdoに置くことができます..endでは、まるでCの{}のようです.
条件文.
lua条件文には主に3つの構造があります.
if文の後ろのthenと最後のendに注意してください.
循環文.
while:
repeat-until:
for:
警告 forの後の式はループ開始前に1回 しか計算されない.上のC等価文は実際には完全に一致していない.stepは負の でもよいからだ. stepは省略できますが、デフォルトは1 です. end値も1回ループされるので、論理はCのfor(i=start;i!=end;i+=step) に等しくないサイクル中に制御変数の値を変更しないでください.そうしないと、結果は予知できない になります.
break文はループを終了するために使用できますが、文ブロックの最後の文でなければなりません.
関数/
© Copyright 2019,趙子清
Lua自身はシンプルで優雅さを美とし、Cが苦手な任務に着目している.C/C++を利用して拡張し、Luaは無限の魅力を見せることができる.Lua自体は完全にANSI Cに従って書かれており、Cコンパイラのある場所であればLuaはその力を発揮することができる.Luaはpythonのような大きなライブラリを追求する必要はありません.あまりにも多くの負担があり、かえって彼女の優美さを破壊します.
-翻訳
本文章はlua 5.2に基づく.
知識を準備する.
luaを得る.
luaは非常に小さい、ほとんどのシステムをサポートしている.Linuxには基本的にluaがプリインストールされていますが、他のシステムではluaを入手する方法については、以下を参照してください.http://lua-users.org/wiki/LuaBinaries
luaコマンドライン
luaをインストールすると、luaコマンドラインが使用できます.その使用は非常に簡単です.
usage: lua [options] [script [args]]
Available options are:
-e stat execute string 'stat'
-i enter interactive mode after executing 'script'
-l name require library 'name'
-v show version information
-E ignore environment variables
-- stop handling options
- stop handling options and execute stdin
パラメータを加えることなくインタラクティブな環境に入る.
argグローバル変数はすべてのパラメータを保存する、スクリプト名インデックスは0であり、スクリプトパラメータのインデックスは1から始まり、スクリプト前のパラメータのインデックスは負である.例:
$lua -e "print 'hello'" test.lua a b
argが保存した値は次のとおりです.
arg[-3] = lua
arg[-2] = -e
arg[-1] = print 'hello'
arg[0] = test.lua
arg[1] = a
arg[2] = b
キーワードを保持する.
luaの変数コマンドはC言語と一致するが、このような識別子は一般的に内部で使用するため、下線に大文字を加えた識別子は使用しないほうがよい.luaの保持キーワードは次のとおりです.
and break do else elseif
end false for function if
in local nil not or
repeat return then true until
while
注釈.
Chunkは一連の文です.luaが実行する文ブロック、例えばファイルインタラクションモードの各行がchunkである.
データ型
luaは動的タイプ言語であり、変数を宣言する際にデータ型を指定する必要はない.
luaには8つの基本タイプがあります.
type()関数を使用すると、所定の変数または値のタイプを表示できます.
string¶
[[string]]
という形式で文字列を表すことができ、この場合、文字列は複数行を含むことができ、..
は文字列コネクタであり、いくつかの言語の+警告
userdata¶
userdataは、Cデータをlua変数に格納ことができ、付与値と等しい比較以外に他の操作はない.userdataは、アプリケーションまたはC実装ライブラリを用いて作成する新しいタイプを記述するために使用される.
//todo
thread¶
//todo
式.
演算子/演算子
二元:+-*/^(べき乗)
一元:-(負)
関係演算子
lua関係演算子には、次のものが含まれます.
< > <= >= == ~=
関係演算子の結果はtrueまたはfalseである.table,userdata,functionについては,値比較ではなく参照により比較する.
警告
=ではなく~=ではありません!=
論理演算子.
lua論理演算子には、次のものが含まれます.
and or not
警告
andとorの結果はtrue/falseではなく、2つの操作数と関係があり、以下の例を参照する.
短大欄lua基礎
print(4 and 5) --> 5
print(nil and 13) --> nil
print(false and 13) --> false
print(4 or 5) --> 4
print(false or 5) --> 5
接続演算子
すなわち、2つの点
..
は、両側にスペースを付けることが望ましい.演算子の優先度/
lua演算子の優先度は、次のようになります.
^
not - (unary)
* /
+ -
..
< > <= >= ~= ==
and
or
語句.
値をつける.
luaは、複数の変数に同時に値を割り当てることができ、変数リストと値リストの各要素はカンマで区切られます.
a, b = 10, 2*x
luaは、付与文の右側のすべての値を計算してから付与操作を行うので、luaでは次のように2つの変数の値を交換できます.
x, y = y, x
局所変数
ローカル変数はlocalで宣言することができ、宣言されたコードブロックでのみ有効である.ローカル変数へのアクセスは、グローバル変数よりも高速であり、名前の競合を回避することができる.ローカル変数をdoに置くことができます..endでは、まるでCの{}のようです.
条件文.
lua条件文には主に3つの構造があります.
if cond then -- C: if(cond) {
then-part -- }
end;
if cond then -- C: if(cond) {
then-part -- }
else -- else {
else-part -- }
end;
if cond1 then -- C: if(cond1) {
then-part -- }
elseif cond2 then -- else if(cond2) {
elseif-part -- }
.. -- ..
else -- else {
else-part -- }
end;
if文の後ろのthenと最後のendに注意してください.
循環文.
while:
while cond do -- C: while(cond) {
statements; -- }
end;
repeat-until:
repeat -- C: do{
statements; -- } while(cond)
until cond;
for:
for var=start,end,step do -- C: for(var=start;var<=end;var+=step) {
loop-part -- }
end
警告
break文はループを終了するために使用できますが、文ブロックの最後の文でなければなりません.
関数/
© Copyright 2019,趙子清