Luaラーニング-文

3009 ワード

1.1-Chunks
Chunkは一連の文で、Luaがエラーのない一連の文を正常に実行できることを理解することができます.luaが実行する各文、例えばファイル、1行のコード、1つの関数はchunkとして理解できます.
1.2-Blocks
文ブロック(Block)文ブロックは、文セグメントの列である.文法的に言えば、1つの文のブロックは1つのchunkと同じである.
1.3-代入
Luaは多重代入を許可する.したがって、割り当てられた構文定義は、等号の左側に一連の変数を配置し、等号の右側に一連の式を配置します.両方の要素はカンマで開きます.次のようになります.
a,b,c = 1,2,3
a,b,c = 1+2,2*2,3-1

右の数が左より大きいと、右の数が捨てられ、逆に左の多くの変数がnilで埋め込まれます.
割り当てセグメントは、まずすべての式を演算し、割り当て操作のみを行います.
i = 3
i, a[i] = i+1, 20

-- 

i, a[3] = 4, 20

だから
x,y = y,x

x,yの値を交換できます
1.4-制御構造
  • if
  • while
  • repeat
  • for
  • reutrn
  • break
  • if exp then
        block
    elseif exp then
        block
    else
        block
    end
    while exp do
        block
    end
    repeat
        block
    until
        exp

    repeat-untilサイクルでは、内部文ブロックの終了点はuntilというキーワードではなく、その後の条件式も含まれています.したがって、条件式では、内部文ブロックで定義されたローカル変数をループすることができます.
    for i = a,b do
        block
    end

    条件式にはnilとfalseが偽と判断した以外は真で、0と空の文字列が含まれています.
    returnは複数の値を返します
    function func()
        a=1
        b=2
        reutrn a,a+b
    end

    breakの使い方は他のプログラミング言語と同じで,最内層ループから飛び出すための記述は省略する.
    1.5-FOr文
    for文の文法を詳しく述べる.数値形式
    for var = e1,e2,e3 do
        block
    end

    ループはe 1からe 2まで、ステップ長はe 3 e 1、e 2、e 3が式であれば、その結果は数値でなければなりません.e 3は省略可能、デフォルトは1
    2.一般形式
    for var1,...varn in explist do
        block
    end