GSL Shell 学習:require と、dofile

2016-02-18 :  PCクリニック
本文の前に、
-・・・ -・-
現時点での blogramのランクインカテゴリは、
7、2、0、0、1、 0、0、0、0、0(40)で、換算ポイント 88pt 。
「化学業界」「硝子業界」「FM COCOLO」「e-radio」、
「グルコサミン」「Python」「Firefox」bg値変動のみ。
「Perl」「C言語」「FM青森」全く変化無し。
・-・ - -・

さて、本文。(これは Lua 学習?)

以前(2016-02-07)の記事:「GSL Shell 学習:GSL FFI interface
で書いた、
GSL shell documentation」の、
最終:25章「GSL FFI interface
に載っているコードには、

  dofile('benchmarks/lmfit/nist_test.lua')

なるコードが載っていた。


はて、“require”と“dofile”は何が異なるのか???



こんなサイトを見つけた:
Lua Unofficial FAQ (uFAQ)

これ、貴重(?)かも。


ここに回答があった。

1.19 Difference between require and dofile?

  require and dofile both load and execute Lua files.
  The first difference is that you pass the module name to require
  and an actual file path to a Lua file to dofile.

  So what search path does require use?
  This is contained in the value of package.path:
  on a Unix system this would look like this(………):
  ・・・・・
  ・・・・・
  On a Windows machine:
  ・・・・・
  ・・・・・

  ・・・・・
  ・・・・・

  The second difference is the require keeps track of
   what modules have been loaded,
  so calling it again will not cause the module to be reloaded.

  The third difference is that require will also load binary modules.
  In a similar fashion, package.cpath is used to find modules
  - they are shared libraries (or DLLs)
   which export an initialisation function.

  ・・・・・
  ・・・・・

===例の翻訳サイトの結果:

  必要と dofile 両方を読み込み、Lua ファイルを実行します。
  最初の違いは、dofile に Lua ファイルを必要とするモジュール名と
  実際のファイル パスを渡すことです。

  だからどのような検索パスが使用を要求するか。
  これは、package.path の値に含まれている:
  Unix システムでこれのようになります(………):
  ・・・・・
  ・・・・・
  Windows マシンでは:
  ・・・・・
  ・・・・・

  ・・・・・
  ・・・・・

  2番目の違いは、要求の追跡
   どのようなモジュールが読み込まれている、
  再度呼び出して再読み込みするモジュールは発生しませんので。

  第三の違いを必要とするバイナリ モジュールによって読み込まれます。
  同様に、package.cpath を使用してモジュールを見つける
  - 彼らは共有ライブラリ (または Dll)
   初期化関数をエクスポートします。

?????


つまり、

どちらも、“Lua”ファイルを読み込んで、実行する。
このことは同じ。

違いその1:
指定するのは、
  require では、モジュール名
で、
  dofile では、Lua ファイルの実ファイルパス


違いその2:
  require では、どのモジュールがロード済みか管理しており、
  重複呼び出し時は、再度のロードは行わない。
と云うことで、
  dofile はその反対:
  管理していないので、指定の都度ロードする???


違いその3:
  require では、Lua ファイルだけでなく、DLLも同形式で扱える。
と云うことで、
  dofile はその反対:
  Lua ファイルのみが対象???


本日はここまで。


Lua ( GSL Shell ) 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


160111
関連記事
スポンサーサイト

コメントの投稿

管理者にだけ表示を許可する

おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク