בדוקי עריכות אוטומטית, אינטערפעיס רעדאקטארן, אינטערפעיס אדמיניסטראַטאָרן, סיסאפן, מייבאים, מעדכנים, מייבא, אספקלריה רעדאקטארן
46,708
רעדאגירונגען
ברוך (שמועס | ביישטייערונגען) (אימפארטירט פון די העברישע המכלול, זע ביישטייערער ליסטע) |
(מספר לאותיות function should output ה'תשס"ו for 5766, not תתתתתתתתתתתתתתקסו) |
||
| (2 צווישנדיגע ווערסיעס פונעם זעלבן באַניצער נישט געוויזן) | |||
| שורה 36: | שורה 36: | ||
local gimatria = function(s) | local gimatria = function(s) | ||
local | -- Check for a thousands separator (apostrophe) | ||
for l in mw.ustring.gmatch( s, "." ) do | local thousands, rest = s:match("^(.-)'(.*)$") | ||
return | if thousands and rest ~= "" then | ||
local total = 0 | |||
local thousandsValue = 0 | |||
-- Calculate gematria for the thousands part | |||
for l in mw.ustring.gmatch(thousands, ".") do | |||
thousandsValue = thousandsValue + (values[l] or endet[l] or 0) | |||
end | |||
total = thousandsValue * 1000 | |||
-- Add gematria for the rest of the number (ignoring extra apostrophes) | |||
for l in mw.ustring.gmatch(rest, ".") do | |||
total = total + (values[l] or endet[l] or 0) | |||
end | |||
return total | |||
else | |||
local total = 0 | |||
for l in mw.ustring.gmatch(s, ".") do | |||
total = total + (values[l] or endet[l] or 0) | |||
end | |||
return total | |||
end | |||
end | end | ||
local mispar_lotiot = function( num, geresh ) | local mispar_lotiot = function(num, geresh) | ||
local res = '' | |||
while | |||
-- Handle thousands | |||
local thousands = math.floor(num / 1000) | |||
local remainder = num % 1000 | |||
if thousands > 0 then | |||
res = res .. tab[thousands] .. "'" | |||
end | |||
local n = remainder | |||
while n > 0 do | |||
local toadd = 0 | |||
if n >= 400 then | |||
toadd = 400 | |||
elseif n >= 100 then | |||
toadd = n - n % 100 | |||
elseif n >= 10 then | |||
toadd = n - n % 10 | |||
else | |||
toadd = n | |||
end | end | ||
res = mw.ustring.gsub( res, 'יה', 'טו' ) | res = res .. tab[toadd] | ||
n = n - toadd | |||
res = mw.ustring.gsub( res, '(.)(.)$', '%1' .. (geresh or '') .. '%2' ) | end | ||
return res | |||
-- Special case for 15 and 16 | |||
res = mw.ustring.gsub(res, 'יה', 'טו') | |||
res = mw.ustring.gsub(res, 'יו', 'טז') | |||
-- Add geresh or gershayim if needed | |||
if mw.ustring.len(res) > 1 then | |||
res = mw.ustring.gsub(res, '(.)(.)$', '%1' .. (geresh or '"') .. '%2') | |||
else | |||
res = res .. (geresh or "'") | |||
end | |||
return res | |||
end | end | ||
| שורה 74: | שורה 118: | ||
['מספר לאותיות'] = function( frame ) | ['מספר לאותיות'] = function( frame ) | ||
return mispar_lotiot( (tonumber(frame.args[1]) or 0), ( frame.args[2] or '' )) | return mispar_lotiot( (tonumber(frame.args[1]) or 0), ( frame.args[2] or '' )) | ||
end, | end, | ||
} | } | ||
רעדאגירונגען