2011-05-25 15 views
6

का उपयोग कर टाइमर बनाना, मैं लूआ का उपयोग करके टाइमर बनाना चाहता हूं, इस तरह से कि मैं एक्स सेकेंड पास होने के बाद टॉगल करने के लिए कॉलबैक फ़ंक्शन निर्दिष्ट कर सकता हूं।लुआ

इसे प्राप्त करने का सबसे अच्छा तरीका क्या होगा? (मुझे किसी वेबसर्वर से कुछ डेटा डाउनलोड करने की आवश्यकता है जिसे एक या दो बार घंटे में पार्स किया जाएगा)

चीयर्स।

उत्तर

4

यहाँ lalarm प्रयास करें,: http://www.tecgraf.puc-rio.br/~lhf/ftp/lua/

+0

क्या आप मुझे हर मिनट एक समारोह को कॉल करने के लिए सरल तरीके से अलार्म का उपयोग करने का उदाहरण दे सकते हैं? – Goles

+0

क्या आपने कोड देखा था? लालम संग्रह में एक फ़ाइल "test.lua" है। –

+0

हाँ, धन्यवाद, मुझे लगता है कि मुझे अब उदाहरण मिला है। – Goles

0

यदि यह आप के लिए स्वीकार्य है, तो आप LuaNode कोशिश कर सकते हैं। निम्नलिखित कोड एक टाइमर सेट:

setInterval(function() 
    console.log("I run once a minute") 
end, 60000) 
process:loop() 
5

milisecond सटीकता की जरूरत नहीं है, तो आप सिर्फ एक coroutine समाधान है, जो आप अपने मुख्य पाश के अंत में समय-समय पर फिर से शुरू, जैसे, इस तरह के लिए जा सकते हैं:

require 'socket' -- for having a sleep function (could also use os.execute(sleep 10)) 
timer = function (time) 
    local init = os.time() 
    local diff=os.difftime(os.time(),init) 
    while diff<time do 
     coroutine.yield(diff) 
     diff=os.difftime(os.time(),init) 
    end 
    print('Timer timed out at '..time..' seconds!') 
end 
co=coroutine.create(timer) 
coroutine.resume(co,30) -- timer starts here! 
while coroutine.status(co)~="dead" do 
    print("time passed",select(2,coroutine.resume(co))) 
    print('',coroutine.status(co)) 
    socket.sleep(5) 
end 

यह LuaSocket में नींद समारोह का उपयोग करता है आप विकल्प Lua-users Wiki

1

उपयोग Script.SetTimer पर सुझाव के किसी भी अन्य इस्तेमाल कर सकते हैं, (, अंतराल callbackFunction)