function abc(x) return ----> エラー。ブロックの最後じゃないのにreturnしている。 print(x) end
function abc(x) do return end ----> OK。 print(x) end
function abc(x, y) return (p(x)) -- p(x)が元来複数の値を返す関数だったとしても、( )をつけることで最初の1つに絞られてしまう。 end
function abc(x,y) return x+10, y+10 -- 2つの値を返す、関数 end local a,b = ( abc(1,2) ) -- 安易にカッコでくくると値が最初の1だけになる。a=11, b=nil となってしまう。 print( abc(1,2) ) --> 11, 12 print( ( abc(1,2) ) ) --> 11