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

■ include(require)


  -- 同一ディレクトリの lib.lua をロードする。
  require "lib"

  add(1, 2);
呼ばれる側
    function add( a, b )
      return a + b;
    end 
module (name [, ・・・]) モジュールをつくる。 作成されるのはテーブルであり、 package.loaded[ test ] というテーブルとして作成される。 または global テーブルに追加される。 またこのテーブルをカレントの関数の環境にする。 パッケージ名は _NAME 属性に設定される。
    test._NAME
名前は Python のモジュールと同じくネストすることもできる。
    module( a.b.c )
require (modname) 指定したモジュールをロードする。 package.loaded テーブルをまずはロードすみか検索する。 そうならば package.loaded[modname] を返す。 ローダが見つかれば、 C ローダのモジュールの検索先は package.loaders 配列を変更することで制御できる。 package.path を検索する。 C ローダが見つかると, modname を使ってコールをしてそれをpackage.loaded[modname] にセットする。 つまりロード先を C で実装できる。
___

■ Moduleの定義

SYNTAX module( "name", package.seeall ) require( "name", package.seeall ) DESC file を module として扱うように宣言.
    -- module 名がそのまま NameSpace || tbl ? になる.
    require( "test" );
    test.sum( 100, 16 );
モジュールの定義は 定義する側のファイルの頭でモジュール名を引数に module 関数を実行します。 以後、module 関数の引数で指定した名前の テーブルに環境が変更される   その副作用として グローバル環境で定義されている関数の呼び出し (組み込み関数の math.random() 等も含む) もできなくなってしまいます。 そのため、module 関数の引数の 2 番目に package.seeall を指定することで この対処が可能になっている -- ファイル mod_test.lua module("mod_test",package.seeall) value=2 function box_muller() local alpha=math.random() -- package.seeall のおかげで使える local beta =math.random() return math.sqrt(-2*math.log(alpha))*math .sin(2*math.pi*beta) end
















NINJAIDX 18