
| 
\n | [ トップページ ] [ ____CommandPrompt ]
[ ____JScript ]
[ ____MySQL ]
[ ____Cygwin ]
[ ____Java ]
[ ____Emacs ]
[ ____Make ]
[ ____Perl ]
[ ____Python ]
[ ____OpenGL ]
[ ____C# ]
[ ____StyleSheet ]
[ ____C++ ]
[ ____Winsock ]
[ ____Thread ]
[ ____VisualStudio ]
[ ____C ]
[ ____Win32API ]
[ ____Lua ]
[ ____PhotoShop ]
 ヘッダ検索
 
 ■ 演算子
     算術演算子
     関係演算子
     論理演算子( C などの 論理演算子と異なるので注意 )
■ or.and.notPOINT
    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
連結演算子 | 文字列連結
    -- or : 最初の引数が false か nil 以外ならその値を返す
    a = a or 10;
■ 代入多重代入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
■ TableConstructorSYNTAX
    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