1. 程式人生 > >Lua之unpack函式

Lua之unpack函式

unpack函式簡介

函式多值返回的特殊函式 unpack,接受一個數組作為輸入引數,返回陣列的所有元 素。unpack 被用來實現範型呼叫機制,在 C 語言中可以使用函式指標呼叫可變的函式, 可以宣告引數可變的函式,但不能兩者同時可變。

使用方法

在 Lua 中如果你想呼叫可變引數的可變函式只需要這樣:

  • 程式碼
f = string.find --類似函式指標

a = {"hello","ll"} --引數陣列

print(f(unpack(a)));
  • 結果
    這裡寫圖片描述

自己用lua實現unpack

function unpack(t,i)
  i = i or
1 if(t[i]) then return t[i],unpack(t,i+1) end end

綜合上個例子,引數t為{“hello”,”ll”},引數i為nil

….