Lua-<1>-Chunks&グローバル変数

1561 ワード

  • 注:lua 5.0以上のバージョンはtableを除く.getnメソッドは、
  • の代わりに#tableNameを使用できます.
  • Chunkは一連の文であり、Luaが実行する各文、例えばファイルまたはインタラクティブモードの各行がChunkである.各文の末尾のセミコロン(;)オプションですが、同じ行に複数の文がある場合は使用したほうがいいです.分離
  • a = 1 b = a*2   -- ugly, but valid
    
  • Chunkは1つの文であってもよいし、一連の文の組み合わせであってもよいし、関数であってもよいし、Chunkは大きくてもよく、LuaではいくつかのMByteのChunkはよく見られる
  • である.
  • 外部Chunkを接続する別の方法は、dofile関数、dofile関数を使用してファイルをロードして実行することである.ファイルがあるとします:
  • -- file 'lib1.lua' 
    function norm (x, y) 
    local n2 = x^2 + y^2 
    return math.sqrt(n2) 
    end 
    function twice (x) 
    return 2*x 
    end 
    

    インタラクティブモード:
    > dofile("lib1.lua") -- load your library 
    > n = norm(3.4, 1.0) 
    > print(twice(n)) --> 7.0880180586677 
    

    -iとdofileはLuaコードをデバッグまたはテストするのに便利です
  • グローバル変数
  • グローバル変数は宣言する必要はありません.1つの変数に値を割り当てると、このグローバル変数が作成されます.初期化されていないグローバル変数にアクセスしてもエラーはありません.ただ、結果はnil
  • です.
    print(b) --> nil 
    b = 10 
    print(b) --> 10 
    

    グローバル変数を削除するには、変数をnilに割り当てるだけです.
    b = nil
    print(b) --> nil 
    

    このような変数bは、使用することがないようなものである.すなわち、この変数は、1つの変数がnilに等しくない場合にのみ存在する.
  • 語法約定
  • 識別子:アルファベットまたはアンダースコアの先頭のアルファベット、アンダースコア、数値シーケンス.下線と大文字の識別子は使用しないほうがいいです.Lua予約字もそうです.
  • and break do else elseif
    end false for function if
    in local nil not or
    repeat return then true until
    while
    

    注意:Luaは大文字と小文字に敏感です.
  • コメントコメントコメント:1行コメント:--複数行コメント:--[--]]
  • --[[ 
    print(10) -- no action (comment) 
    --]]