blog

例で学ぶLua言語(4) - 関数呼び出し

例e09で述べた設定メソッドが使える場所を考えてください。...

May 1, 2025 · 2 min. read
シェア

1.不確定パラメータ

例 e07.lua

   -- Functions can take a 
-- variable number of 
-- arguments. 
function funky_print (...)   
for i=1, arg.n do   
print("FuNkY: " .. arg[i])   
  終わり   end   
funky_print("one", "two") 

走行結果

FuNkY: 1つ

FuNkY: 2つ

手続きの説明

* をパラメータとして取る場合は、パラメータの数が可変であることを意味します。を引数に取る場合は、引数の数が不定であることを意味します。

* パラメータは自動的に arg というテーブルに格納されます。

* arg.n は引数の数を表します。 添え字付きの arg[] は、すべての引数を反復処理します。

2.パラメータとしてのテーブル

例 e08.lua

-- Functions with table 
  -- parameters 
  function   印刷する_contents(t) 
  for k,v in t do 
    print(k .. "=" .. v) 
    終わり 
    終わり 
  print_contents{x=10, y=20} 

走行結果

x=10

y=20

手続きの説明

* print_contents{x=10, y=20}は括弧で囲まれていません。

* for k,v in t do このステートメントは、テーブル内のすべての値を反復処理します。

3.LuaのXMLライクなデータ記述言語化

例 e09.lua

        function   コンタクト(t)   
-- add the contact ‘t’, which is   
-- stored as a table, to a database   
end   
contact {     名前 = "Game Developer",   
email = "hack@ogdev.net",   
url = "http://..net",   
quote = [[   There are   
10 types of people   
who can understand binary.]]   
}   contact {   -- some other contact   } 

手続きの説明

* 関数とテーブルを組み合わせることで、LuaはXMLのようなデータ記述言語になります。

* e09 contact{...}は、関数を呼び出すメソッドです。は関数を呼び出すメソッドです。

* [[...]]は複数行の文字列を表現するためのメソッドです

* このアプローチの利点は、C APIを使用する場合に顕著です。セクションを別の設定ファイルに保存することができます。

4.お試しください。

例e09で述べた設定方法が使える場所を考えてみてください。

Read next

蘇寧Yuncheng最初の単一四半期の損失オンラインとオフラインの売上総利益率の低下に同じ価格

蘇寧Yuncheng ****単一四半期の損失\n\n10月31日、蘇寧雲城は2013年第3四半期報告書を発表し、同社の第3四半期の営業総利益は246.10億元で、前年同期比2.50%減、第3四半期の純利益は1.08億元で、前年同期比118.11%減。会社は今日

May 1, 2025 · 3 min read