Lupa Python中呼叫Lua 收藏

2021-06-07 14:02:50 字數 2422 閱讀 5180

lupa將luajit整合到了python模組中,可以在python中執行lua**。 比較有意思,也許以後用的著,記錄一下。

基本用法:

>>>

import

lupa

>>>

from

lupa 

import

luaruntime

>>>

lua 

=luaruntime()

>>>

lua.eval(

'1+1')

2>>>

lua_func 

=lua.eval(

'function(f, n) return f(n) end')

>>>

defpy_add1(n): 

returnn+

1>>>

lua_func(py_add1, 2)

3>>>

lua.eval(

'python.eval(" 2 ** 2 ")') 

==4true

>>>

lua.eval(

'python.builtins.str(4)') 

=='4'

true

lua中的python物件 

>>>

lua_func 

=lua.eval(

'function(obj) return obj["get"] end')

>>>d =

>>>

value 

=lua_func(d)

>>>

value =='

got'

true

>>>

dict_get 

=lua_func( lupa.as_attrgetter(d) )

>>>

dict_get(

'get') 

=='got'

true

>>>

lua_func 

=lua.eval(

...     

'function(obj) return python.as_attrgetter(obj)["get"] end')

>>>

dict_get 

=lua_func(d)

>>>

dict_get(

'get') 

=='got'

true

lua中的迭代迴圈:

>>>

lua_copy 

=lua.eval(

'''...     function(l)

...         local t, i = {}, 1

...         for item in python.iter(l) do

...             t[i] = item

...             i = i + 1

...         end

...         return t

...     end

... 

''')

>>>

table 

=lua_copy([1,

2,3,

4])>>>

len(table)

4>>>

table[

1]   

#lua indexing1

lua中的table:

>>>

table 

=lua.eval(''

)>>>

table[1]

10>>>

table[4]

40>>>

list(table)[1

, 2, 3

, 4]>>>

list(table.values())[10

, 20

, 30

, 40

]>>>

len(table)

4>>>

=lua.eval(''

)>>>1]

>>>

=lua.eval(''

)>>>20]

-20>>>3]

-3>>>-20

, -3]

>>>3, 

-3), (

20, -20

)]>>>-3

] =3#

-3 used as key, not index!

>>>-3

]3>>>-3

, 3, 20

]>>>-3

, 3), (3, 

-3), (

20, -20

)]

(等等……)

參考:1.

2.

出處:

C 中反射呼叫

c 中反身呼叫 object ojb1 obj1 is cswitwebcontrol.controls.cswitlabel obj1 is cswitwebcontrol.controls.cswitbutton obj1 is cswitwebcontrol.controls.cswitima...

python中呼叫 庫

2013 04 23 15 34 52 分類 python核心程式設計 標籤 python makefile 舉報 字型大小訂閱 1 原始檔 getstring.c getstring.h reverse.c reverse.h getstring.c include char getstring ...

PHP中呼叫介面

在這裡operate.php相當於乙個介面,其中get user list 是乙個api 獲取使用者列表 講求返回的資料型別為json格式。你只需要在你php 中執行這條鏈結他就會返回。get方式的直接使用 post方式得用下面的 需要開啟php curl支援 curl setopt ch,curl...