學習Lua的一些困惑

2021-08-26 05:07:46 字數 1525 閱讀 1362

學習lua的一些困惑

下面是我寫的**:

myclass =

function myclass.myf( respath )

print( "respath的型別是:"..type( respath ).."\n" )

m_id = "這是乙個例項"

print( "m_id的型別是:"..type( m_id ).."\n" )

endfunction game_main( respath )

print( "開始乙個函式的呼叫。\n" )

end結果卻是:

開始乙個函式的呼叫。

respath的型別是:table

m_id的型別是:string

為什麼respath的型別是table呢?我一直無法弄明白。

我看到了《programming in lua》這本書上寫了,使用.和: 沒有區別(原文如下:lua 也提供了物件導向方式呼叫函式的語法,比如 o:foo(x)與o.foo(o, x)是等價的,

後面的章節會詳細介紹物件導向內容。)不過自己試驗的還是不一樣。

於是我將**改了一下:

myclass =

function myclass: myf( respath )

print( "respath的型別是:"..type( respath ).."\n" )

m_id = "這是乙個例項"

print( "m_id的型別是:"..type( m_id ).."\n" )

endfunction game_main( respath )

print( "開始乙個函式的呼叫。\n" )

end結果就正確了

開始乙個函式的呼叫。

respath的型別是:string

m_id的型別是:string

但是我如果這樣改的話:

myclass =

function myclass: myf( respath )

print( "respath的型別是:"..type( respath ).."\n" )

m_id = "這是乙個例項"

print( "m_id的型別是:"..type( m_id ).."\n" )

endfunction game_main( respath )

print( "開始乙個函式的呼叫。\n" )

end結果就不一樣了

開始乙個函式的呼叫。

respath的型別是:nil

m_id的型別是:string

我了解一些c++的語法,對比c++,lua這樣訪問肯定是錯誤的,可是我一直都沒有弄明白,,為什麼第一種情況傳入string型別的resparh進入形參就變成table了呢?先把這個問題放在這裡,我會一直跟進的。

使用james的一些困惑

自己搭建的james伺服器,一切皆如普善園的博文 在本機上接受,傳送一切正常。測試程式是用的spring對mail的支援 import org.springframework.mail.public class testmail localhost true 25000 jkfzero jkfzer...

關於jquery索引的一些困惑

今日同事很正式的向我提出了兩個關於jquery的問題,我也很正式得做了回答,順便把原始碼貼到這裡希望對朋友們有所幫助 問題一 為什麼現在彈出來每個button 在ul li中的 的索引值都是零,為什麼不是從0 9排列的 答 第乙個匹配元素的 index,相對於同胞元素,獲得第乙個匹配元素相對於其同胞...

React中的一些困惑 bind this

如果你用過react,或者正在用react作開發,就一定看過或者寫過這種 constructor props handlerevent 其實這三個問題可以一併說 首先,我們先把上面的 改一下 class demo handlerevent 在不考慮react的前提下,想要呼叫這個handlereve...