2017 原創整理 lua面試題

2021-08-08 10:12:17 字數 2345 閱讀 4196

1、

lua中有

8個基本型別分別為

nil、

boolean

、number

、string

、userdata

、function

、thread

和table

。2、給出下面 表示式的輸出是什麼

print(type("hello world"))        --> string

print(type(10.4*3))             --> number

print(type(print))               --> function

print(type(type))               --> function

print(type(true))               --> boolean

print(type(nil))                 --> nil

print(type(type(x)))             --> string

print("10"+ 1)      --> 11

print("10 + 1")   --> 10 + 1

print("hello"+ 1)     -- 報錯

(無法轉換

"hello")

print(10 .. 20)  --> 1020

3、pairs 和 ipairs區別

pairs: 迭代 table,可以遍歷表中所有的 key 可以返回 nil

ipairs: 迭代陣列,不能返回 nil,如果遇到 nil 則退出

4、請寫乙個多值返回的函式

function foo2 () return 'a','b' end

5、請寫乙個可變引數的函式

function g (a, b, ...) end

g(3, 4, 5, 8) a=3, b=4, arg=

6、 給出下面**的輸出

function select (n, ...)

return arg[n]

endprint(string.find("hello hello", " hel")) --> 6 9

print(select(1, string.find("hello hello", " hel")))--> 6

print(select(2, string.find("hello hello", " hel"))) --> 9

7、有乙個table local test0 =  寫乙個演算法從小到大排序

local test0 =

table.sort(test0)  --從小到大排序

for i,v in pairs(test0) do

io.write(v.." ")

endprint("");

然後再寫乙個演算法

從大到小排序

table.sort(test0,function(a,b) return a>b end) --從大到小排序

for i,v in pairs(test0) do

io.write(v.." ")

endprint(" ")

8、編寫乙個函式,將某個陣列分成兩個陣列,乙個存放偶數,乙個存放奇數

local t = function device(array)

local oushuarr = {}

local jishuarr = {}

for i = 1,#array do

if t[i] % 2 == 0 then

oushuarr[#oushuarr + 1] = array[i]

else

jishuarr[#jishuarr + 1] = array[i]

endend

return oushuarr,jishuarrend

local a,b = device(t)

for k,v in pairs(a) do

print(v)endprint("*****====")for k,v in pairs(b) do

print(v)end

9、將乙個陣列從小到大排序,然後將重複出現的數字全部刪除(後續數字往前移)

local t = local newarray = {}table.sort(t)

newarray[1] = t[1]for i = 2,#t do

if t[i] ~= t[i - 1] then

newarray[i] = t[i]

endendfor k,v in pairs(newarray) do

print(v)end

面試題 原創

無聊嘗試些面試題 任意進製 jz 的乙個資料 num 轉為十進位制 title fy 1 description 任意進製轉10進製 author shany date 2018年6月2日 下午6 13 45 version v1.0 public static int fy 1 int num,i...

面試題整理

2014.3.19日整理 1.建立一張表hack 裡面就乙個欄位num,然後用sql語句從1開始插入到100,怎麼寫?oracle 答 1.create tablehack num number 建表語句 2.begin for i in1.100loop insert intohack num v...

整理面試題

整理面試題 1 說說activity,intent,service是什麼關係 答 乙個activity 通常是乙個單獨的螢幕,每乙個 activity 都被實現為乙個單獨的類,這些類都是從 activity 基類中繼承而來的。activity 類會顯示由檢視控制項組成的使用者介面,並對檢視控制項的事...