トップページ
ひらく | たたむ | ページトップ
↓マウスで反転選択した文字を検索
Lua
   
ページ内検索 ページ外検索
検索したい文字を入力して
ENTERを押すと移動します。
\n
[ トップページ ]
[ ____CommandPrompt ] [ ____JScript ] [ ____MySQL ] [ ____Cygwin ] [ ____Java ] [ ____Emacs ] [ ____Make ] [ ____Perl ] [ ____Python ] [ ____OpenGL ] [ ____C# ] [ ____StyleSheet ] [ ____C++ ] [ ____Winsock ] [ ____Thread ] [ ____VisualStudio ] [ ____C ] [ ____Win32API ] [ ____Lua ] [ ____PhotoShop ]
ヘッダ検索
___

■ 演算子


     算術演算子
     関係演算子
     論理演算子( C などの 論理演算子と異なるので注意 )

___

■ or.and.not

    if a == 10 and s == "test" then
      print( "test" );
    end

    if a == 10 or s == "test" then
      print( "test" );
    end

    if ( not a ) then

    end
POINT
    -- or : 最初の引数が false か nil 以外ならその値を返す
    a = a or 10;
連結演算子 | 文字列連結
    print( "foo" .. "bar" );
___

■ 代入

多重代入OK (右辺の値, 左辺の添え字がすべて評価された後, 代入 ) POINT x, y = y, x; // 入れ替え可能. 関数も複数返すことが可能. function f() return 1, 2; end print( f );
___

■ 論理

   if ( "aaa" ~= "bbb" )
      print ( "diff" )
   end

   if ( "aaa" == "bbb" )
      print ( "same" )
   end
___

■ TableConstructor

SYNTAX TableConstructor ::= { [fieldlist] } Lua にも Constructor がある tbl{ f1=val, f2=val ... } < -> tbl( {...} ) // Tbl関数に Arg として渡した関数. -> DefalutArg の修理とか可能. a = { [f(1)] = g; "x", "y"; x = 1, f(x), [30] = 23; 45 } [exp1] = exp2 形式のフィールド name = exp 形式のフィールドは ["name"] = exp と等価
  do
     local t = {}
     t[f(1)] = g
     t[1] = "x"         -- 最初のexp
     t[2] = "y"         -- 2番目のexp
     t.x = 1            -- temp["x"] = 1
     t[3] = f(x)        -- 3番目のexp
     t[30] = 23
     t[4] = 45          -- 4番目のexp
     a = t
  end
___

■ 関数呼び出し

( lisp と同様の設計. -> lua_type() -> functioncall ::= prefixexp args... POINT prefixexp と args が評価される ---> prefixexp が関数なら 与えられた引数で関数 call ret = func( arg1, arg2, ...) Function は [ 何かの入力をうけとり ] ---> [ 何かの( 処理 | 判断 | 保存 )をして ] --> [ 何かを出力する ] [ 何か ]を { int, float, vec3, string } と種類を限定することも可能. Ret がない場合は nil をかえす
___

■ method として扱う

( OO 的な呼び出しをする. ) POINT functioncall ::= prefixexp `:´ Name args v:name(...) == v.name( v, ... ); == [ method ] t:f(x) という表現は t.f(t,x); 終端呼び出し( 呼び出し側の stack entry を再利用する ) return functioncall のような呼び出し形式は
















NINJAIDX 18