Модуль:SB

Версия от 10:36, 16 июня 2021; Павел Малахов (дополнение | вклад) (Новая страница: «local sb = {} -- functions package for HPB Scrapbooks; copied from https://en.teopedia.org/lib/Module:SB function sb.item_id2( frame ) local id = frame.args['vo...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Этот модуль является копией модуля из английского раздела, где он развивается и документируется.


local sb = {} -- functions package for HPB Scrapbooks; copied from https://en.teopedia.org/lib/Module:SB

function sb.item_id2( frame )
	local id = frame.args['volume'] .. '-' .. frame.args['page'] .. '-' .. frame.args['item']
    return id
end

-- Create unique ID for the item, which consist of: Volume-Page-Item_on_page
-- ID example: 01-017-03
-- Call example: {{#invoke: SB | item_id | volume=1 | page=17 | item=3 }}
-- Values: volume=1..99, page=1..999, item=1..99
function sb.item_id( frame )
	local vNum = string.format("%.2d", frame.args['volume'])
	local iNum = string.format("%.2d", frame.args['item'])
	local p_int, p_frac = math.modf(frame.args['page'])
	local pNum = string.format("%.3d", p_int)  

	--mw.log('int= '.. p_int .. ', frac= ' .. p_frac)
	if p_frac > 0 then
		str = tostring(p_frac)
		pNum = pNum .. '.' .. string.sub(str,3,5)
	end

	local id = vNum .. '-' .. pNum .. '-' .. iNum
	return id
end

-- This function does not work yet
function sb.int2roman( arabic_number )
	local roman_number = arabic_number --mathroman.int2roman(arabic_number)
    print (roman_number)
end

return sb