Difference between revisions of "love.filesystem.load (日本語)"

m
m (用例)
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
{{newin (日本語)|[[0.5.0 (日本語)|0.5.0]]|050|type=関数}}
 
lua ファイルを読み込みます (が実行はしません)。
 
lua ファイルを読み込みます (が実行はしません)。
 
== 関数 ==
 
== 関数 ==
Line 11: Line 12:
 
{{param|string|errormsg (nil)|ファイルを開けない場合はエラーメッセージ}}
 
{{param|string|errormsg (nil)|ファイルを開けない場合はエラーメッセージ}}
 
== 用例 ==
 
== 用例 ==
重要な注意は love.filesystem.load において'''コードの実行を行いません'''が、ファイル内部の内容を包括したものを関数('チャンク')として作成します。チャンクの実行を処理するには、その末尾に () を付加してください。
+
重要な注意点は love.filesystem.load では''コードを実行しません'''が、ファイルの内容を読み込んで関数('チャンク') として作成します。チャンクの末尾に () を付けるとチャンクを実行します。
  
また、注目すべき意見として読み込まれたファイルは返値を返すことができます。例えば、次のファイルでは:
+
注目すべき点は、チャンクから返値を返せます。例えば、このファイルでは:
 
<source lang="lua">
 
<source lang="lua">
 
return 1+1
 
return 1+1
 
</source>
 
</source>
  
という様に呼ぶと、 2 を返します:
+
を呼び出すと 2 を返します:
  
 
<source lang="lua">
 
<source lang="lua">
Line 26: Line 27:
 
</source>
 
</source>
  
読み込まれたファイルに構文エラーがある場合は青画面を表示します。不正なファイルの場合において、ゲームを継続したいならば(たとえば利用者によって記述されたものであると想定します)、'''pcall''' でチャンクを呼び出すことにより保護できます:
+
読み込まれたファイルに構文エラーがある場合はブルースクリーン (白色の文字に水色の背景) を表示します。不正ファイルで、ゲームの実行を継続するならば(たとえば利用者によって記述されたソースコード)、[https://www.lua.org/manual/5.1/manual.html#pdf-pcall '''pcall'''] でチャンクを呼び出すことにより保護できます:
  
 
<source lang="lua">
 
<source lang="lua">
Line 50: Line 51:
 
{{#set:Since=000}}
 
{{#set:Since=000}}
 
== そのほかの言語 ==
 
== そのほかの言語 ==
{{i18n|love.filesystem.load}}
+
{{i18n (日本語)|love.filesystem.load}}

Latest revision as of 16:59, 10 July 2019

LÖVE 0.5.0 から使用可能
この関数は以前のバージョンでは非対応です。

lua ファイルを読み込みます (が実行はしません)。

関数

概要

chunk, errormsg  = love.filesystem.load( name )

引数

string name
ファイルの名前 (およびパス)

返値

function chunk
読み込まれたチャンク
string errormsg (nil)
ファイルを開けない場合はエラーメッセージ

用例

重要な注意点は love.filesystem.load ではコードを実行しません'が、ファイルの内容を読み込んで関数('チャンク') として作成します。チャンクの末尾に () を付けるとチャンクを実行します。

注目すべき点は、チャンクから返値を返せます。例えば、このファイルでは:

return 1+1

を呼び出すと 2 を返します:

chunk = love.filesystem.load( name ) -- チャンクの読み込み
local result = chunk() -- チャンクの実行
print('result: ' .. tostring(result)) -- 'result: 2' を表示

読み込まれたファイルに構文エラーがある場合はブルースクリーン (白色の文字に水色の背景) を表示します。不正ファイルで、ゲームの実行を継続するならば(たとえば利用者によって記述されたソースコード)、pcall でチャンクを呼び出すことにより保護できます:

local ok, chunk, result
ok, chunk = pcall( love.filesystem.load, name ) -- 安全なチャンクの読み込み
if not ok then
  print('The following error happend: ' .. tostring(chunk))
else
  ok, result = pcall(chunk) -- 安全なチャンクの実行

  if not ok then -- エラー発生時は false になります
    print('The following error happened: ' .. tostring(result))
  else
    print('The result of loading is: ' .. tostring(result))
  end
end

関連


そのほかの言語