「Load」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
編集の要約なし
編集の要約なし
43行目: 43行目:
  (load "test2") ; AutoLISP エラーが発生する。  
  (load "test2") ; AutoLISP エラーが発生する。  
  エラー: ロードに失敗しました
  エラー: ロードに失敗しました
; AutoLISP エラーが発生する。 (onfailure でメッセージ指定)
(load "test2" "\nエラー:test2 ファイルが読み込めませんでした。")
エラー: test2 ファイルが読み込めませんでした。
; AutoLISP エラーが発生する。 (onfailure で atom 指定)
(load "test2" nil)
nil
</pre>
</pre>



2011年12月12日 (月) 09:17時点における版

構文
(load filename [onfailure])
機能
ファイル内の LISP 式を評価する。
load 関数は、他の LISP 関数内から呼び出すことができ、 (ロードしたファイル中から)再帰的に呼び出すこともできる。
引数
  • filename : ファイル名を示す文字列。
この引数には、c:/function/test1のように、ディレクトリの指定を含めることができる。スラッシュ(/)または 2 つの円記号(\\)は、有効なディレクトリ区切り記号。filename 引数の文字列でディレクトリを指定しなかった場合、指定されたファイルを パスから検索する。パスのどこかにファイルが見つかると、そのファイルをロードする。
  • onfailure : load が失敗したときに返される値。
この引数が LISP の有効な関数である場合に、その関数を評価する。この引数には文字列かアトムを指定するのがほとんど。これによって、エラーが発生したとき、特別な動作を行うことができる。


戻り値
成功した場合は不定。失敗した場合は、onfailure 引数の値。ただし、onfailure 引数を指定しなかった場合は、エラーメッセージが表示される。


サンプル
前提として、ファイル /fred/test1.lsp があり、そのファイルでは次のような式が定義されているとする。
(defun MY-FUNC1 (x)
...関数の本体...
)
(defun MY-FUNC2 (x)
...関数の本体...
)
さらにファイル名が test2 で、拡張子が .lsp、.fas、.vlx のファイルは存在しないとする。
この条件で以下のように実行する。
 (load "/fred/test1") 
 MY-FUNC2

 (load "¥¥fred¥¥test1") 
 MY-FUNC2

 (load "/fred/test1" "bad") 
 MY-FUNC2

 (load "test2" "bad") 
 "bad"

 (load "test2") ; AutoLISP エラーが発生する。 
 エラー: ロードに失敗しました
 
; AutoLISP エラーが発生する。 (onfailure でメッセージ指定)
 (load "test2" "\nエラー:test2 ファイルが読み込めませんでした。") 
エラー: test2 ファイルが読み込めませんでした。

; AutoLISP エラーが発生する。 (onfailure で atom 指定)
 (load "test2" nil)
nil


関連事項