-- Itt van a teljes album: http://www.youtube.com/watch?v=LadRcupWDuI
local lpeg = require 'lpeg'
lpeg.locale(lpeg)
-- A pozíció, a cím és az időtartam egy tábla
function tosecs(mins,secs)
return 60*mins+secs
end
function fromsecs(secs)
return string.format("%d:%d", secs / 60 , secs % 60)
end
number = lpeg.R"09"^1 / tonumber
position = number * lpeg.P"."
title = lpeg.P"\"" * (( lpeg.R("AZ","az") + lpeg.S"(). " )^1 / tostring ) * lpeg.P"\""
duration = ( number * lpeg.S":" * number ) / tosecs
space = lpeg.space^0
extrawords = (lpeg.R("AZ","az"," ","()")^1 )
track = lpeg.Ct(position * space * title * (space * extrawords)^0 * space * duration)
album = lpeg.Ct(track * (space * track)^0)
t = album:match(raw_text)
for i,v in ipairs(t) do
for j, k in ipairs(v) do
--print(j,k)
end
end
function search_title_by_length(length)
number = lpeg.R"09"^1 / tonumber
pattern = lpeg.C(number) * lpeg.P":" * lpeg.C(number)
mins, secs = pattern:match( length)
if mins then length = tosecs(mins,secs)
else length = tonumber(length) end
accu = 0
for i,v in ipairs(t) do
accu = accu + v[3]
if accu > length then
print(v[1],v[2],v[3], fromsecs(accu))
break
end
end
end
search_title_by_length("21:00")
[/code]
- foofighter blogja
- A hozzászóláshoz be kell jelentkezni
- 1130 megtekintés
Hozzászólások
Akkor jol emlekeztem, hogy te LUA-ztal.
Most egy nagyon idiota kerdest fogok feltenni.
Van egy cucc, imapfilter a neve. A konfigja lua-ban vagyon irva, abban lehet. Kulso konyvtar hasznalatara tudtommal nincs lehetoseg.
A filtereket is luaban kell megirni, es ket halmazt szorzasjellel pluszjellel (+) lehet osszevonni. Viszont ezekbol szeretnek egy halmazt kivonni, amiket nem szeretnek a talalatban latni.
A tipp az, hogy a talalat tabla, mert a table.foreach(result, print) ket oszlopban tol ki szamokat.
Kerdes: lehet ilyet? Ha igen, hogy? Gondolom, hogy ha osszevonni lehet, akkor kivonni is lehet...
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni