附錄程式碼

附件A程式碼

if範例

if a <= 0 then 
a = a + 1 
end

if-else範例

if a < 0 then
a = a + 1 
elseif a > 0 then 
a = a - 1 
else 
a = 0

while迴圈範例

a = {1,2,3,4,5} -- array index start at 1 
i = 1 
while a[i] do 
print(a[i]) 
i = i + 1
end

repeat迴圈範例

a = 0
repeat 
a = a + 1
print (a)
until a > 10

for迴圈範例

for i=1, 10, 1 do 
print(i) 
end

for each迴圈範例

colors={"red", "green", "blue"} 

for i, v in ipairs(colors) do
print(i,v)
end

break範例

a = 10
-- while loop execution --
while( a < 20 ) do 
print("value of a:", a) 
a=a+1

if (a > 15) then 
break 
end 
end

function範例

function square(x) 
local sqr = 0
sqr = x * x
return sqr
end

square = function (x) 
local sqr = 0
sqr = x * x 
return sqr 
end

print(square.(2)) --> 4

result1 = square "2" 
print (result1) --> 4

result2 = square (3)
print (result2)) --> 9

Closure

function newCounter() 
local i = 0
return function()
i = i + 1
return i
end
end

c1 = newCounter()
print(c1()) --> 1
print(c1()) --> 2 

c2 = newCounter () 
print(c2()) --> 1
print(c1()) --> 3
print(c2()) --> 2

String範例

string1 = "TTU" 
print("\"String 1 is \", string1) 
string2 = 'SIRD'
print("String 2 is", string2) 
string3 = [["TTUSIRD"]]
print("String 3 is", string3)

字串大小寫轉換範例

string1 = "Lua"
print(string.upper(string1)) 
print(string.lower(string1))

字串取代範例

string = "Lua Tutorial"
newstring = string.gsub(string,"Tutorial","Language") 
print("The new string is", newstring)

字串搜尋和反轉範例

string = "Lua Tutorial"
print(string.find(string,"Tutorial"))
print(string.reverse(string))

格式化字串範例

date = 2; month = 1; year = 2014 
print(string.format("Date: %02d/%02d/%03d", date, month, year))

字串的字元和位元轉換範例

print(string.byte("Lua")) 
print(string.byte("Lua", 3))
print(string.byte("Lua", -1)) 
print(string.char(97))

字串的長度、連結字串、重複字串範例

string1="Lua"
string2="Tutorial"
print("Concat:", string1..string2) 
print("Len:", string.len(string1))
rString = string.rep (string1,3) 
print(rString)

Array陣列範例

array = {"Lua", "Tutorial"}
for i= 0, 2 do 
print (arrayi)
end

Array陣列範例2

array = {} 
for i= -2, 2 do 
array[i] = i *2 
end 
for i = -2, 2 do 
print(array[i])
end

多維陣列範例

-- Initializing the array 
array = {} 
for i=1,3 do 
array[i] = {}
for j=1,3 do
array[i][j] = i*j 
end 
end 
-- Accessing the array 
for i=1,3 do 
for j=1,3 do 
print(array[i][j]) 
end
end

表格範例

-- Simple empty table
mytable = {}
print("Type of mytable is ", type(mytable)) 
mytable[1] = "Lua"
mytable["wow"] = "Tutorial" 
print("mytable Element at index 1 is ", mytable[1]) 
print("mytable Element at index wow is ", mytable["wow"]) 
-- alternatetable and mytable refers to same table 
alternatetable = mytable
print("alternatetable Element at index 1 is ", alternatetable[1])
print("alternatetable Element at index wow is ", alternatetable["wow"])
alternatetable["wow"] = "I changed it"
print("mytable Element at index wow is ", mytable["wow"]) 
-- only variable released and and not table 
alternatetable = nil 
print("alternatetable is ", alternatetable)
-- mytable is still accessible 
print("mytable Element at index wow is ", mytable["wow"])  
mytable = nil
print("mytable is ", mytable)

表格內容連結範例

fruits = {"banana", "orange", "apple"} 
-- returns concatenated string of table
print("Concat string ",table.concat(fruits))
--concatenate with a character
print("Concat string ",table.concat(fruits,", "))
--concatenate fruits based on index
print("Concat string ",table.concat(fruits,", ", 2,3))

插入和移除表格內容以及計算表格內容個數範例

fruits = {"banana", "orange", "apple")
-- insert a fruit at the end
table.insert(fruits,"mango")
print("Fruit at index 4 is ", fruits[4]) 
--insert fruit at index 2 
table.insert(fruits,2,"grapes")
print("Fruit at index 2 is ", fruits[2]) 
print("The max elements in table is ", table.maxn(fruits))
print("The last element is ", fruits[5]) 
table.remove(fruits)
print("The previous last element is ",fruits 5)

表格內容排序範例

fruits = {"banana", "orange", "apple", "grapes"}

for k, v in ipairs(fruits) do 
print(k,v)
end

table.sort(fruits)
print("sorted table")

for k,v in ipairs(fruits) do 
print (k, v) 
end

 

IndustryBanner

智慧家電DIY

隨著物聯網時代的來臨,未來將有愈來愈多的裝置具有上網的功能。在家庭中的就是智慧家電,我們可以透過網路控制家中電器,達到智慧、舒適、又節能的目的。但智慧家電的單價比一般傳統家電要高,在傳統家電沒壞的前提下,想全部更換為智慧家電其實要花不少錢。是不是有辦法將傳統家電改造成智慧家電呢?可以的,本系列文章將教你如何 step bye step 打造出屬於自己獨一無二的智慧家電。

  1. 智慧插座開發板
  2. 智慧電風扇
  3. 智慧掃地機
  4. 智慧果汁機
  5. 智慧空氣清淨機
  6. 智慧咖啡機